Welcome to the LimeSurvey Community Forum

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

Installation of LimeSurvey CE in production

  • Japie8
  • Japie8's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 7 months ago #231174 by Japie8
Hello,

I was not able to find the information I am seeking. I hope experienced users are willing to help me forward.

I would like to learn more about how to install and configure LimeSurvey CE on a server for production purposes. Meaning, a very secure installation.

Would you prefer to install LimeSurvey CE on bare metal or virtualize/containerize it? Also, is it recommended to run the database, mail server, and LimeSurvey from the same node, or split it over multiple machines? Would you suggest to run multiple instances of LimeSurvey to load balance the requests?

Furthermore, I find it difficult to gauge what the hardware requirements of LimeSurvey CE are. Our use case is the following:

- At any time, 25 concurrent questionnaires. A questionnaire closes after roughly four weeks after which a new questionnaire is published
- Each questionnaire has between 50 and 100 questions
- Each questionnaire has between 5 to 10 pages (welcome screen, max 8 pages with questions (max 10 questions per page) and the thank you page
- All question themes are as provided by default (single item, array, text, etc.)
- For each questionnaire, 1000 to 2500 participants are invited, either via email or via giving them an access token

For these purposes, would you recommend that a dedicated server (eg., Intel Xeon 6 core (physical, not vCPU), 32GB RAM and 500 GB NVMe storage) would be suitable, or would this be over-kill? What hardware requirements would you recommend for our use case?

Thank you very much for giving my questions a thought!

Best, Jaap

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 7 months ago - 1 year 7 months ago #231175 by holch
"Concurrent" questionnaires are irrelevant. You can have as many questionnaires in Limesurvey as you want. It won't impact performance, at least not notable. There are people who have hundreds of old surveys on their installation who no one accesses, so they really don't impact much.

What is important is concurrent users / people who fill in (any) questionnaire at the same time. As this will create load on your server.

So from what I understand is that you have 25 concurrent questionnaires with max. 2500 respondents over 4 weeks each.

So over 4 weeks you usually will have 25x 2500 people participating, which is about 62.500 respondents over 4 weeks or 28 days. So you have on average 2250 respondents per day. This is a lot, but nothing too extreme.

Should your studies be international, these 2250 respondents are probably distributed over the whole day, or about 100 respondents per hour.

Now, if your respondents are all in the same time zone, the respondents per hour will probably go up for the "normal hours" in your time zone. You always have to cater also for potential peaks.

Good practice is to send out invitations in batches. With up to 25 concurrent surveys having a good plan on when to invite people can be surely trickier than if you just have 2-3 running at the same time, of course.

I think there is no clear hardware requirement guide, because there are so many factors than can impact, that it doesn't really make sense.

Your Intel Xeon 6 core (physical, not vCPU), 32GB RAM and 500 GB NVMe storage behind a not so ideal network connection could be worthless, because the bottleneck then isn't the CPU or the Ram, but the network connection.

If your webserver isn't configured well, this might cost you performance.

Even the average length of the questionnaire can be an issue. If your survey is very short even with a lot of people starting at the same time, they will be also quickly out of the survey and thus not take up space in terms of session files, database connections required, network connection needed, etc.

Longer surveys will keep your respondents for longer on the server and thus sessions files will need to be stored for longer, etc.

Most people don't have a lot of surveys running at the same time with a lot of respondents. But there are a few users that seem to run pretty big samples and a lot of surveys at the same time, maybe you are lucky and someone of these shows up.

Would you suggest to run multiple instances of LimeSurvey to load balance the requests?


I am not an expert on these things, but from what I can see here in the forum, if you are not an absolute expert on how to configure these setups, I would keep my fingers from anything like load balancing, proxies, etc.

I'd probably rather run a couple of physically separate installations and distribute the different surveys on them. E.g. 5 servers with 5 different surveys, when one ends you put the next survey on this server, etc.

But as I said, not an expert on server configuration, load balancing, and this stuff.

But I think the most important part is probably to find out what your peaks are, because averages are always dangerous. If you are able to spread out concurrent accesses to your surveys over the 4 weeks and over each day relatively evenly you can run far less powerful hardware than if you already know that you'll have days and hours of the day with very high access rates and then times with very little or no access.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Last edit: 1 year 7 months ago by holch.
The following user(s) said Thank You: tammo

Please Log in to join the conversation.

Lime-years ahead

Online-surveys for every purse and purpose