我在Linux x86_64系统上部署了一个redmine实例,我很难解决一个有趣的性能不一致问题。它的行为如下:
单独放置几个小时(根本没有请求应用程序)然后建立连接,响应前几个请求需要很长时间(可能差15秒+,有时每个响应约1分钟)。在前几个请求之后,它的性能非常快,几乎可以立即从日志中看到响应时间不到100毫秒。
我尝试了几个选项来使用mongrel运行它,将它部署在乘客Nginx上,以及乘客Apache上。这种行为可以简单地重现。我从测试中意识到它处于忙碌状态时,根本就没有问题。
这是什么一回事?我怎样才能改善这个?
答案 0 :(得分:5)
问题很可能是乘客游泳池闲置造成的。您可以将PassengePoolIdleTime增加到更大的数字,或者如果您不想将其超时,则将值设置为0.下面的Apache配置应该可以解决问题
<VirtualHost *:80>
DocumentRoot /path/to/redmine/site/public
ServerName example.com
PassengerPoolIdleTime 0
<Directory "/path/to/redmine/site/public">
PassengerEnabled on
AllowOverride
Options -MultiViews
</Directory>
</VirtualHost>