2011-01-25 36 views
26

Tôi đang sử dụng RVM để quản lý môi trường, cài đặt Ruby 1.9.2.p136 (tôi nghĩ bản phát hành mới nhất của nó) và Rails 3, tạo các gemets và chạy bundler. mọi thứ hoạt động tốt cho đến nay nhưng;Rails 3 khởi chạy cực kỳ chậm trên Ruby 1.9.2

Đường ray initalizes cực kỳ chậm khi chạy lệnh, tức là tạo, hủy, cào, vv Mất khoảng 30-45 giây để hoàn thành lệnh. Điều này sẽ không bao giờ xảy ra nếu sử dụng Ruby Enterprise Edition hoặc Ruby 1.8.7

Tại sao điều này xảy ra. Có suy nghĩ gì không? Chạy trên Ubuntu 10.10, RVM, Ruby 1.9.2, Rails 3

Cảm ơn.

+0

Đây có phải là ứng dụng mới hoặc trên ứng dụng hiện có không? –

+0

ảnh hưởng đến ứng dụng mới hoặc hiện có – Harry

+1

Đã kiểm tra trong màn hình Sytem (Ubuntu). Thử nghiệm bây giờ với rake db: di chuyển lệnh của nó bằng cách sử dụng% 100 cpu với khoảng 50mb ram – Harry

Trả lời

3

Cố gắng strace (trên unix), dtruss (trên mac) lệnh của bạn (có thể cần phải "sudo"). Nó sẽ cho bạn thấy nơi mà quá trình này đang dành thời gian của nó. Chú ý nơi nó tạm dừng. Điều này chắc chắn không bình thường.

+0

Tôi tìm thấy ID tiến trình của cá thể Ruby sau đó được kiểm tra bằng strace. Nhật ký quy trình có nhiều quá trình chờ. "[pid 2204] 04: 26: 08.156009 futex (0x58c1c4, FUTEX_WAIT_PRIVATE, 1015189, {0, 9842003}) = -1 ETIMEDOUT (Kết nối hết giờ)" – Harry

+0

Vì vậy, mạng IO, có thể bạn đang truy cập DB qua IP? Bạn có giải quyết dns đúng không? Cố gắng chuyển tất cả các tên miền thành địa chỉ IP. Bạn cũng có thể chạy một "netstat -a" để xem những gì/nơi nó đang cố gắng để đi đến. – Zepplock

+0

Hiện tại Rails hoạt động trên localhost (với môi trường phát triển) – Harry

7

Có một chủ đề về vấn đề này on Rails-Core - http://groups.google.com/group/rubyonrails-core/browse_thread/thread/88519ef5a53088a1/c01ba447c6dc0de7?lnk=raot

Để báo Yehuda Katz

"Có những điều mà C đòi hỏi mã lệnh thực hiện trong 1,9 rằng mọi thứ chậm lại Một trong những ví dụ là. kiểm tra lại $ LOAD_PATH để đảm bảo tất cả được mở rộng trên mọi yêu cầu. Đây là thứ cần được giải quyết bằng ruby-core. Tôi sẽ mở một vé trên redmine nếu chưa có. "

Tôi cũng gặp sự cố này và vấn đề $ LOAD_PATH có vẻ như là nguyên nhân tiềm ẩn. Cho phép hy vọng nó được sửa chữa sớm.

+0

Cảm ơn bạn đã thông tin – Harry

+1

Tuy nhiên có vẻ như bản sửa lỗi là một bản sửa lỗi khá lớn và điều này được lên lịch cho 1.9.3 để biết khi nào nó sẽ được sửa! [Yêu cầu lỗi hiệu suất] (http://redmine.ruby-lang.org/issues/show/3924) –

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