【发布时间】:2012-01-04 08:08:04
【问题描述】:
我在 Linux x86_64 系统上部署了一个 redmine 实例,但我遇到了一个有趣的性能不一致问题。它的行为如下:
静置几个小时(对应用程序根本没有请求)然后建立连接,响应前几个请求需要很长时间(可能长达 15 秒+,有时每大约 1 分钟响应)。在最初的几个请求之后,它的性能非常快,几乎可以立即从日志中看到响应时间不到 100 毫秒。
我尝试了几个选项来使用 mongrel 运行它,将它部署在乘客 Nginx 和乘客 Apache 上。该行为简单地可重现。我从测试中意识到,当它保持忙碌时,完全没有问题。
这到底是怎么回事?我该如何改进?
【问题讨论】:
-
另见stackoverflow.com/questions/7062563/… - windows 上 mysql 的一个已知问题,因此可能与您的问题无关。日志文件中是否有任何内容(例如 mongrel 日志)?
-
在与数据库相关的日志中真的看不到任何错误。我还检查了this FAQ in Redmine。我从第一天开始就有 MySQL/Ruby 适配器 2.8.1,唯一的问题是 gem 不是通过 gem 命令安装的,而是通过执行 extconf.rb 脚本来安装的。
-
再次通过Passenger user guide,看起来可能有机会通过结合使用PassengerPreStart、PassengerMinInstances和PassengerPoolIdleTime来解决问题。
标签: performance apache nginx redmine passenger