cuốn sách gpt4 ai đã làm

jstat Quá nhiều "Thời gian tải lớp"

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 06:30:40 27 4
mua khóa gpt4 Nike

Ứng dụng máy chủ dựa trên Java của chúng tôi báo cáo thời gian tải lớp dài bất thường:

# jstat -lớp 10625 1000
Thời gian byte được tải Số byte không tải
4781 9165,6 114 185,2 17769,35
4781 9165,6 114 185,2 17769,85
4781 9165,6 114 185,2 17770,36
4781 9165.6 114 185.2 17771.11
4781 9165,6 114 185,2 17771,73

Việc này được thực hiện trên một máy chủ đã chạy được khoảng 8 giờ. jstat báo cáo rằng phải mất 17.769 giây (~4 giờ 56 phút!) để thực hiện tải lớp và tức là tăng thêm khoảng 0,5-0,6 giây mỗi giây! Chúng tôi đã theo dõi các vấn đề về hiệu suất và đây là thủ phạm hàng đầu của chúng tôi. Để xác định điều này, chúng tôi đã kiểm tra các dịch vụ Java khác: jstat tại Thời gian Các giá trị rất thấp được hiển thị trong cột (vài giây, thậm chí sau khi chạy hàng giờ)

Mã của chúng tôi không tải lớp liên tục nhưng chúng tôi không thể loại trừ các thư viện bên thứ 3 hoạt động sai. Chúng tôi đã kích hoạt -tiết:gc Hy vọng rằng chẩn đoán vấn đề. Tuy nhiên, sau khi máy chủ của chúng tôi đã tải tất cả các lớp (trong vòng một phút hoặc lâu hơn khi có lưu lượng truy cập lớn), nhật ký lớp dài dòng sẽ im lặng - chúng tôi chỉ mong đợi sẽ thấy một chuỗi Hoạt động được cung cấp dữ liệu jstat.

我的问题是:

  • Điều này thực sự chỉ ra một vấn đề?
  • Nếu vậy, những gì khác có thể được thực hiện để chẩn đoán nó?

Bất kỳ lời khuyên nào đều được đánh giá cao.

câu trả lời hay nhất

Đây dường như là một vấn đề thực sự. Vì thời gian tải lớp tăng lên trong khi số lượng lớp được tải vẫn giữ nguyên, tôi có thể kết luận rằng ứng dụng cố gắng tải đi tải lại các lớp bị thiếu, ví dụ: thông qua.Lớp.forNamehoặcClassLoader.loadClass.

Nếu thiếu một lớp, JVM sẽ ném ra LớpNotFoundNgoại lệ Quét toàn bộ đường dẫn lớp trước đó. Việc này có thể mất nhiều thời gian nếu đường dẫn lớp chứa nhiều JAR hoặc thậm chí cả URL mạng.

Để chẩn đoán thêm vấn đề này, tôi khuyên bạn nên dụng cụ Lớp.forNameClassLoader.loadClass phương pháp hoặc chặn Ngoại lệ ClassNotFound.

Về java - jstat quá nhiều "Thời gian tải lớp", chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/26152084/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress