首先,如果可以的話,我會切換到Linux,但由於第三方依賴關係,我不能。爲什麼Ruby在Windows服務器上的運行速度比在Windows開發機上慢得多?
我正在完成並在Windows 2008服務器上部署rails應用程序。在服務器上進行測試時,應用程序被證明速度很慢,請求每次需要2-5秒。在我的開發機器上,這遠沒有這麼慢,並且據我所知,緩慢在Rails本身,即。我在服務器上看到日誌記錄如Completed 200 OK in 1859ms (Views: 1687.5ms)
,而我的開發計算機上卻看到Completed 200 OK in 347ms (Views: 298.0ms)
。
我知道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很重,如果已經有很重的負載,它會很慢。 – AboutRuby
嘗試使用某些第三方軟件進行基準測試服務器與開發。即Phoronix。 – Slotos