Litespeed trial Enterprise version 3.0 - 64 bit
ruby-lsapi 2.2 - gem install
Easy rails setup
single opteron server
4GB RAM
Linux 2.6 kernel
I have a system that is under fairly high load but will occasionally receive intense traffic bursts. It receives a combination of keep-alive and non keep-alive http requests. When a burst happens a large number of RailsRunner.rb processes are spawned to the point where they use so many resources that the server is essentially locked up. I have made a number of parameter changes to try and help the situation but I'd like some verification that I am moving in the right direction. Process limits and Memory limits have been increased. During regular traffic levels there is ~100 connections and ~60 rqps to litespeed in this system. All dynamic traffic, no static content. It may turn out that I simply need more hardware to deal with the load or to deal with the spikes somehow (not completely under my control). Per client throttling is not an option in this setup based on the nature of the traffic. My settings below:
Server Tuning section:
Connection Timeout - 30s
Keep-Alive Timeout - 10s
I/O Event Dispatcher - epoll
Server General:
Memory I/O Buffer - 16M
Ruby/Rails:
Max Connections 300
Environment
LSAPI_CHILDREN=300
LSAPI_MAX_REQUESTS=5000
LSAPI_MAX_IDLE=60
LSAPI_MAX_PROCESS_TIME=60
Initial Request Timeout (secs) 60
Retry Timeout (secs) 0
Connection Keepalive Timeout 60
Response Bufferring No
Back Log 50
Run On Start Up Yes
Max Idle Time 120
Priority 3
Memory Soft Limit (bytes) 1800M
Memory Hard Limit (bytes) 2000M
Process Soft Limit 380
Process Hard Limit 400
Rails Context:
Max Connections 300
ruby-lsapi 2.2 - gem install
Easy rails setup
single opteron server
4GB RAM
Linux 2.6 kernel
I have a system that is under fairly high load but will occasionally receive intense traffic bursts. It receives a combination of keep-alive and non keep-alive http requests. When a burst happens a large number of RailsRunner.rb processes are spawned to the point where they use so many resources that the server is essentially locked up. I have made a number of parameter changes to try and help the situation but I'd like some verification that I am moving in the right direction. Process limits and Memory limits have been increased. During regular traffic levels there is ~100 connections and ~60 rqps to litespeed in this system. All dynamic traffic, no static content. It may turn out that I simply need more hardware to deal with the load or to deal with the spikes somehow (not completely under my control). Per client throttling is not an option in this setup based on the nature of the traffic. My settings below:
Server Tuning section:
Connection Timeout - 30s
Keep-Alive Timeout - 10s
I/O Event Dispatcher - epoll
Server General:
Memory I/O Buffer - 16M
Ruby/Rails:
Max Connections 300
Environment
LSAPI_CHILDREN=300
LSAPI_MAX_REQUESTS=5000
LSAPI_MAX_IDLE=60
LSAPI_MAX_PROCESS_TIME=60
Initial Request Timeout (secs) 60
Retry Timeout (secs) 0
Connection Keepalive Timeout 60
Response Bufferring No
Back Log 50
Run On Start Up Yes
Max Idle Time 120
Priority 3
Memory Soft Limit (bytes) 1800M
Memory Hard Limit (bytes) 2000M
Process Soft Limit 380
Process Hard Limit 400
Rails Context:
Max Connections 300