So I have a client with a very high bandwidth server. The hits its serving are pretty light in terms of demand - static jpeg and text.
SERVER SPECS:
- Dual Quad-Core L5520 2.26gHz (3.2 Turbo & HT) 8MB cache
- 72GB Ram
- 2 300GB SSD's (1 dedicated to /usr to keep up with logging)
- 100Mbps (unmetered) port at a very reputable datacenter
Ive currently got apache configured as follows:
- Start Servers 512
- Minimum Spare Servers 256
- Maximum Spare Serves 512
- Server Limit 7500
- Max clients 7500
- Max Requests per Child 100
- Keep-Alive Timeout 5
- Max Keep Alive requests 768
- Timeout 30
I was seeing about 2000-3000 apache access's per second last week with no issues. That translated to 80-90Mbps up and a load around 1 with peaks around 5 and momentary extreme peaks of 30-50 when apache would restart and all the processes re-spawn. Memory usage was about 40GB. Traffic has increased and I'm now seeing 3000-4000 apache access's per second and the http is unstable. Although apache is occasionally restarting, I am getting periods of no http connectivity while apache is running and there are idle workers and open slots. Load is around 2 when stable and frequently spiking which no doubt is my connection issues, but I'm not sure why. RAM usage is 50-60GB. Throughput is about 130Mbps. (I'm not sure how I'm getting over 100Mbps when my package is a 100Mbps but I've got a ticket in with the DC now to inquire if perhaps they are dropping packets as a result of my usage, but that doesn't explain my stability issues unless ack's are dropping and leaving connections to time out... maybe... not sure... never thought about the theory behind that thought till now)
I'm looking for opinions on if I have reached the operational max of what apache can handle or is there some other system limit that I may be exceeding.
Some people have told me LiteSpeed is the solution but I have no experience with it, and my client has heard bad things so opinions there are appreciated as well.
Thanks All!