gpt4 book ai didi

ruby - 大量同时请求的乘客停顿

转载 作者:太空宇宙 更新时间:2023-11-03 17:02:56 25 4
gpt4 key购买 nike

我在使用我们的 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
PassengerUseGlobalQueue on
PassengerHighPerformance on
RailsSpawnMethod smart
PassengerMaxRequests 5000
PassengerStatThrottleRate 5
RailsAppSpawnerIdleTime 0
PassengerPoolIdleTime 600

此服务器专用于一个应用程序。好吧,一个应用程序处于暂存和生产模式。

我尝试使用 PassengerMaxPoolSize,将其设置为 4、12、20、40、80,... 停滞仍然存在。奇怪的是 Passenger 似乎产生了比定义的 MaxPoolSize 更多的应用程序。目前它设置为 12,但在 htop 中我至少可以找到其中的 34 个:

1234 username 20 0 260M 97572 3892 S 0.0 1.2 0:00.13 Rack: /var/www/domains/domain.com/current

只需在我们应用的根页面打开 30 个选项卡,我就可以轻松重现此问题。前 10 个左右会立即加载,其余的至少需要一分钟才能呈现。

我没主意了。有人知道如何解决这个问题吗?

最佳答案

Phusion Passenger 可能正在尝试生成更多进程,但在生成期间它无法响应请求。尝试实现异步生成的 Phusion Passenger 3。

关于ruby - 大量同时请求的乘客停顿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3951140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com