Tag: Ruby on Rails
-
The website is under heavy load解决方法
在做网站做压力测试的时候,很容易模拟出每秒几百的http请求,如果要测试的网站是在nginx之后,这时候就会发现很多请求直接返回503 Service Unavailable错误,如下图所示。 这是由于在当前的并发请求过多的情况下,nginx默认会把请求放到一个队列里,一次排队让服务器处理。这个queue的上限默认是100,所以当请求超过queue上限的时候,nginx就会返回The website is under heavy load的错误信息了。 一个简单的解决方法便是修改passenger_max_request_queue_size,改成你需要的实际值,或者直接设成0,来禁用queue这个功能。 当然更好的方法是做服务器端的profiling,找出瓶颈,让每个http请求能更快的被处理完毕。 参考 http://stackoverflow.com/questions/20537185/the-website-is-under-heavy-load-ror https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html#PassengerMaxRequestQueueSize