2011-11-14 45 views
5

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?

+0

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

+1

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

Trả lời

1
+0

Cảm ơn, nhưng các liên kết đó dường như chủ yếu về thời gian khởi động * của Rails. Nếu bạn có một cái nhìn vào mã kiểm tra trong câu hỏi bạn có thể thấy tôi nhận được một sự chậm lại 3x chỉ liên tục gán một biến trong irb - không tải Rails, không có 'require's hoặc bất cứ điều gì. Tôi đang đi đến kết luận rằng VPS chỉ là hoàn toàn crap. – Russell

+0

Tôi không sử dụng Rails. Hãy xem lại lần thứ hai. :-) –

+0

Tôi đã xem chúng! Chúng sắp tăng tốc * thời gian tải, đặc biệt là bằng cách tăng tốc 'yêu cầu'. Không có 'require' trong 'n = Time.now; x = 0; 10000000.times {x + = 1}; đặt Time.now - n' và irb đã được tải để tôi không thấy các liên kết này có thể hữu ích như thế nào. – Russell

Các vấn đề liên quan