Welcome to the LimeSurvey Community Forum

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

What resource limits are needed to run LimeSurvey for 50-100 simultaneous users?

  • oleggorfinkel
  • oleggorfinkel's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
6 years 3 weeks ago #165040 by oleggorfinkel
Hi,

I wonder if anyone could give me an idea of what level of resource allowances I should shoot for on the host to be able to run LimeSurvey for 50-100 simultaneous users. So far, I've only had a free hosting account on x10hosting, which provides pretty meager limits: 5 entry (CGI/PHP) processes and 50 total processes. Under those conditions, when more than 10 or so users try to access LimeSurvey at the same time, they start getting the dreaded "resource limit reached" errors.

When I begin teaching a course, I can have up to a hundred (or even more) students needing to fill out questionnaires simultaneously. How many entry/total processes do I need to have available to avoid blocking by the host under that kind of load? Has anyone here had actual experience with LimeSurvey under such conditions?

I would be willing to move up to paid hosting, but from what I can see, the ground-level premium plan only bumps ups the number of processes to 10/50 (from 5/50). Would that be enough to make any kind of noticeable difference for my use case?

Thanks!

Oleg G.
The topic has been locked.
  • holch
  • holch's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 3 weeks ago #165042 by holch
Where do you get these limits from for the premium packages? I couldn't find those limits on the page about the packages:
www.limesurvey.org/editions-and-prices/l...rofessional-features

Of course your free hosting will not be able to hold up agains 100 concurrent users. I don't think any shared hosting environment will, if it is not optimized for Limesurvey.

As far as I know, the servers from the Pro edition can handle quite some load. However, you can always ask them directly via the "Support" page.

For selfhosting I think you probably would have to have a VPS or a dedicated server to handle this, because it also gives you the possibility to configure the webserver and PHP to your needs (time, memory, etc.). However, going down this road is only recommended if you know how to configure and administer a web server.

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

The topic has been locked.
More
6 years 3 weeks ago #165055 by jelo

holch wrote: Where do you get these limits from for the premium packages? I couldn't find those limits on the page about the packages:

The threadstarter seems not to talk about LimeSurvey.org hosting. There is currently no official statement about limits of LimeSurvey-Hosting available.

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
The topic has been locked.
  • holch
  • holch's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 3 weeks ago #165057 by holch
Oh, I get it. These limits are from the current free hoster with the lowest paid hosting plan. I somehow connected it with the Limesurvey Pro.

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

The topic has been locked.
More
6 years 3 weeks ago - 6 years 3 weeks ago #165058 by jelo

oleggorfinkel wrote: When I begin teaching a course, I can have up to a hundred (or even more) students needing to fill out questionnaires simultaneously.

How do you come to the conclusion of 100 or more students simultaneously accessing LimeSurvey?

Are these students filling out a survey as a respondent or are they using LimeSurvey as a user and are creating surveys?


LimeSurvey performance depends on

CPU
RAM
Storage speed (I/O)
Bandwidth

If you e.g. offering a survey with big amount of pictures you might get already limited by the bandwidth of the server you're running LimeSurvey on.

Depending on the way the webserver and php (CGI/PHP is the slowest, look out for PHP-FPM) is configured the limit will be more on the memory or on the CPU side.

100 users or respondents at the same time are not translating into 100 concurrent connections. Depending on the browser/webserver setup one user gets more than one connections. On the other side, when people are answering a survey they load a page, read, answer and then click the button to go on. You seldom have the case that 100 users are all clicking at the exact same time.

Look for a webhosting with dedicated resources. E.g. look for a provider which offers CloudLinux in a managed webhostingpackage. Storage should be SSD only. That is very important cause LimeSurvey is creating big sessionsfiles when first accessing the survey.
SSD is also important if the server get's near the limits and get's into swapping. SSD will be help coping these situations in a quicker way.

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
Last edit: 6 years 3 weeks ago by jelo.
The topic has been locked.
  • oleggorfinkel
  • oleggorfinkel's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
6 years 2 weeks ago - 6 years 2 weeks ago #165199 by oleggorfinkel

jelo wrote:

oleggorfinkel wrote: When I begin teaching a course, I can have up to a hundred (or even more) students needing to fill out questionnaires simultaneously.

How do you come to the conclusion of 100 or more students simultaneously accessing LimeSurvey?

Are these students filling out a survey as a respondent or are they using LimeSurvey as a user and are creating surveys?


LimeSurvey performance depends on

CPU
RAM
Storage speed (I/O)
Bandwidth

If you e.g. offering a survey with big amount of pictures you might get already limited by the bandwidth of the server you're running LimeSurvey on.

Depending on the way the webserver and php (CGI/PHP is the slowest, look out for PHP-FPM) is configured the limit will be more on the memory or on the CPU side.

100 users or respondents at the same time are not translating into 100 concurrent connections. Depending on the browser/webserver setup one user gets more than one connections. On the other side, when people are answering a survey they load a page, read, answer and then click the button to go on. You seldom have the case that 100 users are all clicking at the exact same time.

Look for a webhosting with dedicated resources. E.g. look for a provider which offers CloudLinux in a managed webhostingpackage. Storage should be SSD only. That is very important cause LimeSurvey is creating big sessionsfiles when first accessing the survey.
SSD is also important if the server get's near the limits and get's into swapping. SSD will be help coping these situations in a quicker way.



I am talking about up to 100 respondents filling out surveys at the same time. Yes, I realize that that would hardly ever translate into 100 concurrent server connections, but the resource limits on my free hosting package seem to be so stringent that even when 30 or so people are working at the same time, they are already hitting the limits.

So, it seems like, in your experience, nothing less than a VPS would do for this kind of load, right? And maybe not even that would be enough... If that's the case, it would probably make more sense for me to just run my own server at home on a well-configured PC.

Thanks to everyone for responding, I appreciate your help!

Oleg G.
Last edit: 6 years 2 weeks ago by oleggorfinkel.
The topic has been locked.
  • holch
  • holch's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 2 weeks ago #165201 by holch

If that's the case, it would probably make more sense for me to just run my own server at home on a well-configured PC.


Only if you either ...
A. ...run the course at home and everyone who is taking part is within your local network
or
B. ... have a fixed IP and a very good internet connection with high bandwith (especially for upload) and your computer at home is accessible via the internet from outside (which I strongly hope it is not!)

I don't think selfhosting is worth it. You can get relatively decent VPS servers for little money and they should do the trick. Yes, they might cost you 10-20 Dollar/Euro per month, but if you are giving courses, this should be in the budget, shouldn't it?

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

The topic has been locked.
  • oleggorfinkel
  • oleggorfinkel's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
6 years 2 weeks ago - 6 years 2 weeks ago #165203 by oleggorfinkel

holch wrote:

If that's the case, it would probably make more sense for me to just run my own server at home on a well-configured PC.


Only if you either ...
A. ...run the course at home and everyone who is taking part is within your local network
or
B. ... have a fixed IP and a very good internet connection with high bandwith (especially for upload) and your computer at home is accessible via the internet from outside (which I strongly hope it is not!)

I don't think selfhosting is worth it. You can get relatively decent VPS servers for little money and they should do the trick. Yes, they might cost you 10-20 Dollar/Euro per month, but if you are giving courses, this should be in the budget, shouldn't it?


Actually, so far, I have been administering the questionnaires right in the classroom from my laptop, via a WiFi router, and that's worked out pretty well. The only problem I've had was that when everyone tried to connect to the WiFi network simultaneously, the router would sometimes choke up, but I've learned to get around this by subdividing the students into 4 groups and having those connect one after the other. Once everyone is authenticated, though, there are no further problems in using LimeSurvey off a regular laptop.

The reason I need to be able to run the platform over the internet is that I may end up having to teach the course remotely, and also, as a backup in case something goes wrong with my local server.

Self-hosting is a chore, true, but once it's set up, it doesn't really require that much attention. I certainly wouldn't use my main computer as a server that is open to the outside world -- it would have to be a dedicated machine, properly walled off from the rest of my network. The only stumbling block is having a static IP, as those do cost money, but I've been monitoring my IP for a couple of years, and to my surprise, it's stayed the same, despite the numerous modem resets I've had to do during this time. I suspect that the provider actually reserves the customer's IP for a certain time when there is a disconnection, so that you actually get to keep it as long as you aren't off the network for too long. And, even if the IP were to change, it wouldn't take long for the update to propagate across the nameservers. I am not so much concerned about overall uptime as about having the service available at certain peak moments when I need it.

As for funding, unfortunately, I am not getting paid for teaching these courses, nor is there any budget for them from the University. It's been an entirely volunteer effort thus far, and one reason I've been able to sustain it is that it has formed part of my doctoral research project. So, yes, money is a bit tight...

Cheers!

Oleg G.
Last edit: 6 years 2 weeks ago by oleggorfinkel.
The topic has been locked.
  • holch
  • holch's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 2 weeks ago #165207 by holch
Well, sounds like you know what you are doing. Unfortunately we get man people here with no idea how the internet works. Just today we had someone who asked about why people can't access their questionnaire. The address they had sent out was a http://localhost/.

So sorry if my first thought was going into this direction.

Within the classroom, I don't think it would be a major problem to run things off a notebook within the local network environment.

Now selfhosting is a different beast. But if you have enough experience in terms of setup, security, firewall, etc. then you can probably do it. I personaly would probably would keep my fingers off that and get a normal SSD based VPS, even if it is just a cheap one like from Digitalocean or Vultr with some RAM. While not the most reliable ones, probably cheaper than the additional costs for electricity and the hassle to set all this up. And you can let it run 24/7 or pay per hour. Costs $5 a month with 1GB ram and $10 with 2GB. Should be enough for what you are trying to do and probably a lot cheaper on the long run. Because besides the extra costs for electricity you also need to keep an eye on the hardware. And you need a decent upload rate for your internet.

But if this is for the university, you might get some resources on a server at the university. At least at my university, they guys that ran the servers were pretty open for these things, especially as you are doing it for free for the university.

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

The topic has been locked.
  • oleggorfinkel
  • oleggorfinkel's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
6 years 2 weeks ago #165210 by oleggorfinkel
I wonder how the VPS hosts you mentioned compare with x10hosting in terms of process/cpu limits, because the x10hosting basic premium plan also offers 1 cpu core and 1GB RAM, just like DigitalOcean and Vultr, but they limit you to only 10 CGI/PHP and 50 total processes, which is only double the allowance of the free plan. On the DO and Vultr sites, there is no reference to CPU or process limits... I am worried that even if I get a low-end paid plan, it may still not be enough. Also, I wonder if these hosts offer extra features, such as SiteBuilder. Do you know anything about that?

Oleg G.
The topic has been locked.
  • holch
  • holch's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 2 weeks ago - 6 years 2 weeks ago #165211 by holch
Those vps are bare metal. You get the OS and the rest is up to you. You configure the server and Webserver as you need it. On this machine you can basically do what you want. If you run always on 100% of the CPU they might give you the red card, but they probably have a lot more resources. They are meant for developers to test their applications, being able to set up and cancel a lot of servers in a short time. I don't know the host that you are mentioning, but any freehost with premium options is suspicious in my opinion. There are many coupons out there for digitalocean or vultr so that you can test them for a month or two for free.

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

Last edit: 6 years 2 weeks ago by holch.
The topic has been locked.
  • oleggorfinkel
  • oleggorfinkel's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
6 years 2 weeks ago #165212 by oleggorfinkel
Yes, that's what I thought... How much trouble do you think it would be to set up one of those bare-bones VPS with all the bells and whistles I would normally get from a general-public hosting service: file manager, SiteBuilder, CPanel, etc.? I would assume that PHP and MySQL support comes as part of the operating system, right?

Oleg G.
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose