Forum Moderators: phranque

Message Too Old, No Replies

Does apache limit nbr of concurrent users?

my host says so ...

         

stef25

12:09 pm on Aug 25, 2006 (gmt 0)

10+ Year Member



I just heard from my host that my site is down because I have more than 35 users online at the same time. They say this limitation is imposed by Apache and I am hosted on a VPS. Apparently, a semi dedicated plan can accomodate 65 concurrent users and a dedicated server 255.

I do not want to discuss the value of hosting plans but find it very strange that a leading hosting company claims I have to rent a dedicated server if i want to accomodate more than 65 users at the same time. AND that this is a limitation imposed by THE leading server software, namely Apache.

Surely there is something wrong here?

DamonHD

12:17 pm on Aug 25, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Absolute rot.

(Find this person's boss and ask them to hire a techie that knows what s/he is talking about rather than s saleperson trying to push unnecessary services.)

Apache imposes no such limit unless it is TOLD to limit the number of concurrent connections/daemons AND you happen to be using something server-unfriendly such as an AJAX front-end that holds connections open, or you have excessive keep-alive on connections (30s should be enough to get most of the benefit, for example but default can be ten times that or more).

A tiny server can support thousands of "concurrent" users so long as they release connections quickly.

Rgds

Damon

morags

12:22 pm on Aug 25, 2006 (gmt 0)

10+ Year Member



When they say this is imposed by Apache, I'm guessing they mean, but don't want to say, this is imposed by the Apache software running on the server which they have configured so that it limits the number of concurrent users. Semantics.

As #1 says, speak to a techie not a salesperson.

Either way, I'd be looking for a new host.

Leosghost

12:23 pm on Aug 25, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



A hosting company who lies to you is a partner you would do well to change ..

lammert

12:37 am on Aug 26, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I am not surprised that your number of concurrent httpd processes is limited to 35 in a VPS system. Apache uses an architecture with one process per connected user. Every process uses its own datamemory block. Depending of the options compiled in, heavy use of PHP etc, one such process takes between about 2 and 20 megabytes memory. With 35 running processes this is between 70 and 700 megabyte in total, excluding memory needed for a possible mysql database etc.

In a VPS you share resources with other users. To prevent you to take all the available memory, the hosting company has limited the number of concurrent connections to a value that they think is appropriate for their number of users of the VPS server and the physical amount of RAM.

Do you have access to your httpd.conf on your VPS? On many VPS configurations you actually can access that file. Search for the MaxClients setting and increase the value. Afterwards restart the apache server. Keep in mind that you probably don't make friends with your hosting company changing this value, but you can test if the limit of 35 is compiled in in the Apache source code, or just a setting in httpd.conf.

<added>
The number of 35 gives me an idea which hosting company you are talking about. I have a VPS with the same default setting in httpd.conf and I guess you are hosting with this same company. I once counted the number of different process owners in the /proc directory and came to over 250 VPS users and 1600 processes per server. Their servers are overloaded (because of the low price per month for the VPS) and 35 is the absolute maximum they can handle with that amount of users.
</added>

DamonHD

1:16 am on Aug 26, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Hi OP and lammert,

Apache can usually run in several modes, one of which uses *one* process to service all your requests, using one thread per request. That is much less memory intensive in many cases (maybe x3 to x10). Another option (which last time I built and configured an Apache from sources rather than using the copy bundled with my host(!) was the default for Solaris) is a mixture of threads and processes, which is somewhere in between for memory consumption and performance.

If you don't change hosts, ask them if the thread option is available to you and what they will set MaxClients to with it.

Rgds

Damon

stef25

1:01 pm on Aug 26, 2006 (gmt 0)

10+ Year Member



Your explanations are making things clearer. My site is pretty php intensive and i guess it does pose a serious load on the server. It's fair enough that they want to impose this limit (its their limitation and not apache's) but as far as i am concerned they should list this limitation along with the diskspace and bandwidth included in your package ... i think ill be claiming my 30 day money back guarantee

thanks for all your replies

motorhaven

11:24 pm on Aug 26, 2006 (gmt 0)

10+ Year Member Top Contributors Of The Month



Why do people expect a Corvette for Chevette prices?

DamonHD

9:13 am on Aug 27, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Hi,

I think the main problem here is "truth in advertising" (or indeed truth in tech support).

You and I know reasonably well what to expect for our money: we could probably go and start up our own datacentre and start peering with the top-tier providers if we HAD to, but if a hosting company misleads a less-savvy Web master/mistress/small-furry-creature-from-Alpha-Centuri as to what they can get "NO LIMITS EVER!" and then tells stories in tech support calls, they deserve censure, IMHO.

Rgds

Damon