【发布时间】:2010-10-16 22:46:24
【问题描述】:
我在使用我们的 Rails 3 应用程序之一时遇到了问题。当大量请求发送到服务器(10 / 秒)时,整个服务器停止。我尝试了很多不同的乘客设置,有时我注意到略有改善,但没有一个最终成为解决方案。
我的设置:
- 英特尔 i7(8 核)
- 8GB 内存
- Ubuntu 10.04 服务器
- Ruby 1.9.2
- 导轨 3
- Apache 2.2.14
- 乘客 2.2.15
- MySQL 5.1.41
我当前的passenger.conf:
PassengerMaxPoolSize 12
乘客使用全局队列开启
乘客高性能
RailsSpawnMethod 智能
乘客最大请求数 5000
乘客StatThrottleRate 5
RailsAppSpawnerIdleTime 0
乘客池空闲时间 600
此服务器专用于一个应用程序。好吧,一个处于暂存和生产模式的应用程序。
我尝试使用 PassengerMaxPoolSize,将其设置为 4、12、20、40、80,...奇怪的是,Passenger 似乎产生了比定义的 MaxPoolSize 更多的应用程序。目前它设置为 12,但在 htop 中我至少可以找到其中的 34 个:
1234 用户名 20 0 260M 97572 3892 S 0.0 1.2 0:00.13 机架:/var/www/domains/domain.com/current
只需在我们应用的根页面上打开 30 个标签,我就可以轻松复制此问题。前 10 个左右会立即加载,其余的至少需要一分钟才能呈现。
我没有想法。有人知道如何解决这个问题吗?
【问题讨论】:
标签: ruby ubuntu ruby-on-rails-3 passenger