Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance Redmine性能不一致性_Performance_Apache_Nginx_Redmine_Passenger - Fatal编程技术网

Performance Redmine性能不一致性

Performance Redmine性能不一致性,performance,apache,nginx,redmine,passenger,Performance,Apache,Nginx,Redmine,Passenger,我在Linux x86_64系统上部署了一个redmine实例,我正在努力解决一个有趣的性能不一致问题。它的行为如下: 让它单独运行几个小时(根本没有对应用程序的请求),然后建立连接,响应前几个请求需要很长的时间(可能长达15秒以上,有时每响应一次大约需要1分钟)。在最初的几个请求之后,它的性能非常快,几乎可以立即从日志中看到响应时间不到100毫秒 我尝试了几个选项来使用mongrel运行它,并将其部署在passenger Nginx和passenger Apache上。这种行为完全可以复制。我

我在Linux x86_64系统上部署了一个redmine实例,我正在努力解决一个有趣的性能不一致问题。它的行为如下:

让它单独运行几个小时(根本没有对应用程序的请求),然后建立连接,响应前几个请求需要很长的时间(可能长达15秒以上,有时每响应一次大约需要1分钟)。在最初的几个请求之后,它的性能非常快,几乎可以立即从日志中看到响应时间不到100毫秒

我尝试了几个选项来使用mongrel运行它,并将其部署在passenger Nginx和passenger Apache上。这种行为完全可以复制。我从测试中意识到,当它保持忙碌时,将不会有任何问题


这是怎么回事?如何改进这一点?

该问题很可能是由于乘客池闲置造成的。您可以将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>

DocumentRoot/path/to/redmine/site/public
ServerName example.com
旅客乘机时间0
乘客继续往前走
AllowOverride
选项-多视图

另请参见-windows上mysql的一个已知问题,因此可能与您的问题无关。日志文件中是否有任何内容(例如mongrel日志)?在与数据库相关的日志中没有看到任何错误。我也跟他核实过。从第一天开始我就有了MySQL/Ruby Adapter 2.8.1,唯一的问题是gem不是通过gem命令安装的,而是通过执行extconf.rb脚本来安装的。再看一遍,似乎有机会通过结合使用PassengerPreStart来解决这个问题,我为一个愚蠢的问题道歉。PassengerPolidleTime是应该在VirtualHost内部为每个VirtualHost配置,还是应该全局设置?据我所知,您可以全局设置,但我建议为每个虚拟主机设置。根据应用程序的不同,它的用途以及它在不同空闲时间受到的影响可能更适合不同的站点来节省资源。这对我们的服务器产生了巨大的影响!谢谢你,詹姆斯!此配置的问题是,服务器可能无法重新启动。请注意乘客配置选项的上下文。PassengerPolidleTime应该在服务器上下文中设置(通常是httpd.conf或apache.conf)@AdamKalisz虽然我同意这可能不是当时或现在的最佳答案,但如果6年后仍有类似的问题没有得到解决或编写了更好的解决方案,我会担心