2010-03-07 42 views
13

Tôi đang cố gắng tìm ra nguyên nhân gây ra sự chậm trễ 1 phút khi khởi động Cầu tàu. Đó có phải là vấn đề về cấu hình, ứng dụng của tôi hay thứ gì khác không?Trì hoãn khởi động trễ

Tôi có Jetty 7 (jetty-7.0.1.v20091125 25 November 2009) được cài đặt trên máy chủ và tôi triển khai tệp ROOT.war 45MB vào thư mục webapps. Đây là webapp duy nhất được cấu hình trong Jetty. sau đó tôi bắt đầu Jetty với lệnh:

java -DSTOP.PORT=8079 -DSTOP.KEY=mystopkey -Denv=stage -jar start.jar etc/jetty-logging.xml etc/jetty.xml & 

tôi nhận được hai dòng đầu ra ngay sau khi thực hiện điều này:

2010-03-07 14:20:06.642:INFO::Logging to StdErrLog::DEBUG=false via org.eclipse.jetty.util.log.StdErrLog 
2010-03-07 14:20:06.710:INFO::Redirecting stderr/stdout to /home/zing/jetty-distribution-7.0.1.v20091125/logs/2010_03_07.stderrout.log 

Khi tôi nhấn phím enter, tôi nhận được lệnh của tôi nhắc lại. Nhìn vào các tập tin log (log/2010_03_07.stderrout.log), tôi thấy sau ở đầu:

2010-03-07 14:08:50.396:INFO::jetty-7.0.1.v20091125 
2010-03-07 14:08:50.495:INFO::Extract jar:file:/home/zing/jetty-distribution-7.0.1.v20091125/webapps/ROOT.war!/ to /tmp/Jetty_0_0_0_0_8080_ROOT.war___.8te0nm/webapp 
2010-03-07 14:08:52.599:INFO::NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet 
2010-03-07 14:09:51.379:INFO::Set web app root system property: 'webapp.root' = [/tmp/Jetty_0_0_0_0_8080_ROOT.war___.8te0nm/webapp] 
2010-03-07 14:09:51.585:INFO::Initializing Spring root WebApplicationContext 
INFO - ContextLoader    - Root WebApplicationContext: initialization started 
INFO - XmlWebApplicationContext - Refreshing Root WebApplicationContext: startup date [Sun Mar 07 14:09:51 PST 2010]; root of context hierarchy 
... 

Thông báo tạm dừng dài 1 phút từ ngày 3 đến dòng thứ 4. Cầu tàu đang làm gì vào thời điểm này? Điều gì khác có thể xảy ra? Nó thậm chí không giống như nó đã bắt đầu khởi tạo mùa xuân của tôi được nêu ra.

Lưu ý rằng tôi đã kiểm tra thư mục/tmp của mình để xem đó có phải là lúc giải nén tệp chiến tranh của tôi không, nhưng tệp đã được giải nén hoàn toàn ngay cả khi bắt đầu trễ 1 phút này.

CẬP NHẬT:

Nhờ đề xuất, tôi đã thêm ghi nhật ký DEBUG. Tôi thấy rằng khoảng 2 giây đã được sử dụng để trích xuất các tập tin chiến tranh. Nhưng sau đó có khoảng một giây chậm trễ 41 trên Init SecureRandom:

2010-03-07 21:54:45.414:DBUG::Starting [email protected]@ 
2010-03-07 21:54:45.414:DBUG::Starting [email protected] 
2010-03-07 21:54:45.416:DBUG::Container [email protected] + [email protected] as sessionIdManager 
2010-03-07 21:54:45.416:DBUG::Starting [email protected] 
2010-03-07 21:54:45.416:DBUG::Init SecureRandom. 
2010-03-07 21:55:26.244:DBUG::STARTED [email protected] 
2010-03-07 21:55:26.247:DBUG::STARTED [email protected] 
2010-03-07 21:55:26.248:DBUG::Starting [email protected]@ 
2010-03-07 21:55:26.261:DBUG::Starting [email protected]@ 

SecureRandom là gì, và tại sao nó sẽ gây ra sự chậm trễ này?

SOLUTION:

Dường như tôi đang chạy vào một vấn đề với system not having enough load tôi. Tôi vừa thiết lập nó như một máy chủ dàn dựng mới, và không có ai sử dụng nó ngoại trừ tôi. Vì vậy, hệ thống không có đủ entropy cho bộ tạo số ngẫu nhiên để tạo ra đủ ngẫu nhiên một cách nhanh chóng.

Trả lời

14

Jetty 7 (và có thể thấp hơn):

Đặt (rất) verbose debug logging với -Dorg.eclipse.jetty.util.log.DEBUG=true (xem Jetty/Starting/Porting to Jetty 7) và cố gắng để xem những gì đang xảy ra trong phút này.

Lưu ý phụ, có thể bạn sẽ cần hỗ trợ jsp để bạn có thể vượt qua -DOPTIONS=Server,deploy,jsp khi bắt đầu (xem Running Jetty-7.0.x).

Và nếu bạn không cần những thứ ưa thích từ Jetty 7.x, thì bạn nên gắn bó với Jetty 6 thay vì Jetty 7 eclipse (ổn định hơn, ít vấn đề hơn vì di chuyển Eclipse, tài liệu tốt hơn, dễ sử dụng hơn) .

Jetty 8:

Trong Jetty 8.1: Hệ thống tài sản [org.eclipse.jetty.util.log.DEBUG] đã bị phản đối! (Sử dụng org.eclipse.jetty.LEVEL = DEBUG thay thế)

+0

@Pascal, cảm ơn sự giúp đỡ. Tôi đã cập nhật câu hỏi của mình với một số nhật ký gỡ lỗi. Có vẻ như nó đang được giữ trên SecureRandom. Bất kỳ ý tưởng? – Tauren

+4

@Pascal, tôi nghĩ tôi đã tìm ra giải pháp. Câu trả lời của bạn đã giúp tôi tìm thấy nó, cảm ơn! http://docs.codehaus.org/display/JETTY/Connectors+slow+to+startup – Tauren

+0

Ngoài ra, tôi đã thay đổi về 6.1.22 dựa trên đề xuất của bạn. – Tauren

2

Hãy thử thay đổi mức ghi nhật ký thành DEBUG và xem nó cho thấy điều gì thú vị. Nếu không có gì khác, nó có thể cho phép bạn thu hẹp ở đâu trong chuỗi khởi động vấn đề là.

+0

@Stephan. Cảm ơn. Tôi đã thêm một số bản ghi gỡ lỗi vào câu hỏi nếu bạn có bất kỳ ý tưởng nào khác. – Tauren

+0

@Tauren - Tôi thấy bạn đã tìm ra. –

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