Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

System performance and architecture

  • Jacob12345
  • Jacob12345's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 1 month ago #241384 by Jacob12345
System performance and architecture was created by Jacob12345
Hello,

I am seeking advice about benchmarking the peak performance of our dedicated machine. We want to be able to handle a high number (about 2500)11of concurrent participators in the questionnaire.

This machine has the following specifications:
- AMD Ryzen 7 Pro 3600 CPU with 8 cores and 16 threads
- 64 GB RAM
- 2x 460 GB NVMe storage in RAID 1 configuration
- 1 Gbit uplink
- MariaDB and webserver are hosted in the same machine

We run one questionnaire that has 80 questions in total, using 12 pages. From beginning to end, it takes roughly 40 minutes to complete the questionnaire. We do not use multimedia.

​​​​​​I have several questions:
- How can we determine / stress test the maximum concurrent users (=participations in the questionnaire) that this system can handle?
- The LiteSpeed webserver generally achieves a higher performance, faster speed and less usage of system resources. Was LimeSurvey tested with LiteSpeed?
- What configuration do you suggest for performance tweaking the PHP environment?
- How does LimeSurvey work with the containerization of the web server part, such that we can horizontally upscale using Kubernetes, while using the same database server?

Also, based on your experience, what kind of concurrent users can we expect to achieve using the modest server configuration above?

Thanks!

Please Log in to join the conversation.

More
1 year 1 month ago #241391 by jelo
Replied by jelo on topic System performance and architecture

We want to be able to handle a high number (about 2500)11of concurrent participators in the questionnaire.

 
2500 concurrent visitors of the survey are not hitting the next button at the same time. So you have less concurrent requests per second which Liteserver needs to handle. Depending on the LiteSpeed server licence there is a concurrent connection limit. Use the processgroup mode to get PHP as snappy as possible
www.litespeedtech.com/open-source/litesp...hp/processgroup-mode

Bandwidth is 1GBit which mean 125 MB per second if no overhead would exist. If really 2500 users would request in the same second, that would be a bottleneck. But you might have 500-800 concurrent requests with different amount of payload.
LimeSurvey is creating a lot of big session files. SSD RAID 1 is fine.
Having the database and the webserver on one server is fine. Optimizing the usage of RAM between Webserver and database might a field to work on.
Perhaps the default settings will be fine.

Loadtesting a survey can be a bit tricky depending on the tools at hand. You can first use tools like ab (apachebench) or siege to just through some connections at your webserver. You can rent a few VPS on the web and install these tools and let the requests start.
Or you use a SaaS offer for  loadtesting and scripting to even fill out
 

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users

Please Log in to join the conversation.

Lime-years ahead

Online-surveys for every purse and purpose