RAM and CPU Requirements

Sheetster Performance and load capacity depends on the following factors:

  • Processor speed and number of CPU cores
  • Amount of available server RAM
  • Complexity and size of the spreadsheet templates loaded in RAM
  • Number of spreadsheet templates loaded concurrently in RAM
  • Number of concurrent users/sessions
  • Number of REST api calls

Java running on 32-bit OS is limited to 2GB of RAM (-Xmx2G) so you will have at most 2GB to work with per VM.

 
On a 64-bit OS this limit is lifted and Java can scale much larger.


On a 32-bit system, one workaround is to load balance between multiple Sheetster instances -- each one is subject to the 2GB limit, but multiple instances can be used to scale concurrent users beyond this limit.

An important note is that at this time, Sheetster does not replicate changes between server instances, so you will need to ensure that users do not edit the same spreadsheets concurrently when working on different instances.

Before placing your application into production, stress testing with real-world usage scenarios is a very good idea.  Try running the unit test simulating workload using the REST calls in a loop -- this will tell you what to expect from your hardware.