Trước hết, tôi sẽ chuyển sang Linux nếu có thể, nhưng tôi không thể, do sự phụ thuộc của bên thứ ba.Tại sao Ruby chạy chậm hơn rất nhiều trên máy chủ Windows so với trên máy tính Windows dev?
Tôi đang trong quá trình hoàn thành và triển khai ứng dụng đường ray lên máy chủ Windows 2008. Trong khi thử nghiệm trên máy chủ, ứng dụng đang chứng minh là chậm chạp, với các yêu cầu mất từ 2-5 giây mỗi lần. Đó là hư không gần này chậm trên máy phát triển của tôi, và theo như tôi có thể nói sự chậm chạp là trong bản thân Rails, tức là. Tôi thấy nhật ký như Completed 200 OK in 1859ms (Views: 1687.5ms)
trên máy chủ so với Completed 200 OK in 347ms (Views: 298.0ms)
trên máy tính dev của tôi.
Tôi biết Rails được cho là chậm hơn trên Windows hơn là trên Linux, nhưng tại sao nó sẽ chậm hơn trên một máy chủ cửa sổ hơn là trên máy tính Windows 7 dev của tôi?
Trong quá trình phát triển, tôi đang chạy WEBrick, trên máy chủ Tôi đang chạy mỏng dưới apache. Tôi cũng đã thử chạy mỏng trên máy dev của tôi và nó là nhanh hơn nếu bất cứ điều gì hơn WEBrick. Có ai có bất cứ đề nghị về những gì có thể gây ra một sự suy giảm lớn như vậy hoặc những gì để xem xét? Bất cứ điều gì ở tất cả sẽ được nhiều đánh giá cao.
Cập nhật: Dường như chính bản thân Ruby chậm hơn đáng kể trên máy chủ. Chạy sau trong IRB mất 0,6 giây trên máy dev của tôi, nhưng tính trung bình hơn 3 giây trên máy chủ:
n = Time.now ; x = 0 ; 10000000.times { x += 1 } ; puts Time.now - n
Điều gì có thể gây ra Ruby để chạy chậm hơn rất nhiều (hơn 3x) trên máy chủ ? Nó có thể là phiên bản windows? Hay cái gì khác? Phiên bản Ruby hoàn toàn giống nhau: ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
.
Cập nhật lại:
Feel ngu ngốc vì đã không đề cập đến việc này trước đó, nhưng đó là một VPS. Tuy nhiên, mặc dù tôi sẵn sàng chấp nhận điều này sẽ làm chậm nó xuống một chút - là thực tế chậm hơn 3 lần?
tải máy chủ là như thế nào? Ruby khá nặng CPU, nếu đã có tải nặng thì nó sẽ khá chậm. – AboutRuby
Thử máy chủ điểm chuẩn so với phát triển với một số phần mềm của bên thứ ba. I E. Phoronix. – Slotos