【发布时间】:2011-11-14 14:11:30
【问题描述】:
首先,如果可以的话,我会切换到 Linux,但由于第三方依赖,我不能。
我正在完成 Rails 应用程序并将其部署到 Windows 2008 服务器上。在服务器上进行测试时,该应用程序被证明非常缓慢,每个请求需要 2-5 秒。在我的开发机器上,它远没有这么慢,据我所知,这种慢是在 Rails 本身内部,即。与我的开发机器上的 Completed 200 OK in 347ms (Views: 298.0ms) 相比,我在服务器上看到了诸如 Completed 200 OK in 1859ms (Views: 1687.5ms) 之类的日志记录。
我知道 Rails 在 Windows 上应该比在 Linux 上慢,但为什么它在 windows 服务器上比在我的 windows 7 开发机器上慢?
在开发中我正在运行 WEBrick,在服务器上我在 apache 下运行瘦。我也试过在我的开发机器上运行瘦,如果有的话,它比 WEBrick 更快。有没有人对可能导致如此大的减速或调查什么有任何建议?任何事情都将不胜感激。
更新:似乎是 Ruby 本身在服务器上的速度明显变慢。在 irb 中运行以下命令在我的开发机器上需要 0.6 秒,但在服务器上平均需要超过 3 秒:
n = Time.now ; x = 0 ; 10000000.times { x += 1 } ; puts Time.now - n
什么可能导致 Ruby 在服务器上运行这么慢(超过 3 倍)?会不会是windows版本?或者是其他东西? Ruby 版本完全相同:ruby 1.9.2p290 (2011-07-09) [i386-mingw32]。
再次更新:
觉得之前没有提到这一点很愚蠢,但它是一个 VPS。但是,尽管我愿意接受这会减慢速度 - 慢 3 倍以上是否现实?
【问题讨论】:
-
服务器负载如何? Ruby 占用大量 CPU,如果负载已经很重,它会很慢。
-
尝试对服务器进行基准测试与使用一些第三方软件进行开发。 IE。弗罗尼克斯。
标签: ruby windows-server-2008 thin performance