Tôi có một ứng dụng đang nhận được khá lớn, và thời gian khởi động mùa xuân là khoảng 20 giây. Để sử dụng sản xuất, điều này là tốt, nhưng để phát triển, đây là một nỗi đau lớn.Cách tốt nhất để cấu hình thùng chứa mùa xuân để tìm hiểu cách tối ưu hóa thời gian khởi động của nó là gì?
Công cụ hay cách tiếp cận hồ sơ tốt có thể cung cấp cho tôi chính xác thông tin tôi cần để tìm ra những gì mất quá nhiều thời gian? Có lẽ đó là điều tôi có thể tối ưu?
Ứng dụng của tôi là ứng dụng web mùa xuân/ngủ đông khá điển hình. Có khoảng 50 bảng cơ sở dữ liệu và vài trăm đậu (như 200-300 ... tôi không tính). Có một vài hạt @Configurable. Rất nhiều quét thành phần. Tôi cũng đang sử dụng Spring Security.
Tôi đã làm một số thông tin sơ cấp hóa với log4j - chỉ ở cài đặt INFO. Dưới đây là một số trong những điều mà đang dùng một chút thời gian:
- INFO DefaultListableBeanFactory: 555 - độc thân-instantiating Pre - 2 giây
- INFO SessionFactoryImpl: 202 - xây dựng nhà máy phiên - 2 giây
- INFO HibernateTransactionManager: 415 - Sử dụng DataSource [com.mchange.v2.c3p0.ComboPooledDataSource ......] của Hibernate SessionFactory for HibernateTransactionManager - 7 giây
Có một vài điều mà phải mất 0,5 để có thể 1 giây nhiều nhất, nhưng những 3 là những người lớn.
Bạn có thể quan tâm [SPR-8767 - Khởi tạo hạt song song trong khi khởi động] (https://jira.springsource.org/browse/SPR-8767) –
Thú vị. Tôi thấy thật thú vị khi người Spring nói họ sẽ không xem xét điều này cho đến khi một số người phàn nàn rằng nó quá chậm. Tôi có một mình không? Tôi nghĩ rằng nó đã được làm chậm từ năm 2002:/Không có vấn đề bao nhiêu máy tính tôi đi qua mỗi vài năm, tôi luôn luôn có thể đếm vào mùa xuân bắt đầu lên lần chậm. – egervari
Tôi nghĩ rằng anh ta có nghĩa là họ sẽ xem xét khi đủ người sẽ phàn nàn nó ảnh hưởng đến năng suất +1 btw câu hỏi tốt :) –