Douglas Allan Tutty wrote:
On Wed, May 09, 2007 at 01:30:41AM -0400, Daniel Ouellet wrote:
No swapping is happening, even with 1000 httpd running.
load averages: 123.63, 39.74, 63.3285 01:26:47
1064 processes:1063 idle, 1 on processor
CPU states: 0.8% user, 0.0% nice, 3.1% system, 0.8% interrupt, 95.4%
idle
Memory: Real: 648M/1293M act/tot Free: 711M Swap: 0K/4096M used/tot
How does this server do with 1000 non-httpd processes running? Perhaps
I need a newer Nemeth et al, but in my 3rd edition, pg 759 middle of the
page says "Modern systems do not deal welll with load averages over
about 6.0".
Be careful when reading these numbers here. Don't forget that I am doing
this in labs with abuse, etc. I am trying to push the server as much as
I can here. In production, I do see some server reaching 10, 18 and some
time I saw up to 25, but all these were in extreme cases, most of the
time, it's always below 10.
I can't answer this question with proper knowledge here as I don't
pretend to know that answer. May be someone else can speak knowingly
about it?
Could your bottleneck be in context-switching between so many processes?
With so many, the memory cache will be faulting during the context
switching and have to be retreived from main memory. I don't think that
such slow-downs appear in top, and I don't know about vmstat. I don't
know if there's a tool to measure this on i386.
Wasn't. However yes there is and I can see faulting. I check both the
vmstat and iostat to see what's up. Obviously the number are higher on
older hardware as it run out of horse power obviously. But the problem
was the be able to handle more then 300 parallel connections and why it
just 3x when only 2 more process were added. So, no, I don't think the
context-switching had anything to do with it here.
You will see when I post the changes I did and the test I did. Some are
surprising!
I've never run httpd but it looks to me like a massivly parralized
problem where each connection is trivial to serve (hense low CPU usage,
no disk-io waiting) but there are just so many of them.
One multi core and multi processor hardware with proper memory, it
shouldn't be a problem I think, but will know soon!
How does the server do with other connection services, e.g. pop or ftp?
I only run one application per servers, always did and most likely
always will. So, any mail server is a mail server, and a web server is
only a web server here anyway. Even DNS are only running DNS as well, etc.