2013-10-02 21 views
5

Chúng tôi đang thực hiện một số tiến bộ tốt trong thử nghiệm tải và mở rộng ứng dụng akka nhưng chúng tôi đang xem scala.concurrent.forkjoin.ForkJoinPool.scan() sắp tới lên như là điểm nóng cao thứ hai khoảng 20% ​​thời gian tự trong visualvm. Cột Tự thời gian (CPU) chỉ nói một phần nhỏ (ít hơn 1% giá trị của cột thời gian tự).Akka - trong khi kiểm tra tải, forkjoinpool.scan ở 20% thời gian cpu

Tôi nghi ngờ điều này có nghĩa là việc chặn hoặc chuyển ngữ cảnh có thể có vấn đề nhưng tôi không quá chắc chắn - bất kỳ ai có thể cung cấp thông tin chi tiết? Nếu đó là bối cảnh chuyển đổi, tôi đoán điều chỉnh thông lượng điều phối cho một số cao hơn có thể net chúng tôi đạt được, nếu không nếu nó gây ra bởi chặn chúng tôi sẽ cần phải đọc thông qua các mã một số chi tiết.

Bất kỳ thông tin chi tiết nào được đánh giá cao.

+1

Tôi sẽ đọc qua chủ đề này vì nó cung cấp một số hiểu biết sâu sắc về lý do tại sao bạn có thể thấy rất nhiều thời gian chờ đợi bận rộn với FJP. Bạn thực sự có thể có một số mã chặn đang làm chậm mọi thứ khiến cho các chuỗi FJP không hoạt động được quét cho công việc nhiều hơn mong đợi. https://groups.google.com/forum/m/#!topic/akka-user/6HKTvw4yBnU – cmbaxter

+0

Cảm ơn - chủ đề đó là điều khiến tôi nghĩ rằng phải có một số chủ đề chưa sử dụng - và thời gian đồng hồ treo tường so với cpu thực tế được sử dụng. Đây là một xác nhận hữu ích +1 – JasonG

Trả lời

8

Phương pháp quét cũng là nơi các chủ đề không hoạt động trong "công viên" ForkJoinPool khi họ không thể tìm được công việc.

Có 20% thời gian tự và 1% trong số đó là thời gian CPU tự làm cho tôi nghĩ rằng bạn có chủ đề không hoạt động trong ForkJoinPool đã đỗ trong đó.

Tôi giả định rằng bạn đang sử dụng VisualVM trong chế độ Lấy mẫu. Theo mặc định, VisualVM lọc ra mọi thứ trong thư viện chuẩn. Xem câu trả lời này làm thế nào để thay đổi các thiết lập và có được một hình ảnh tốt hơn về những gì đang xảy ra. https://stackoverflow.com/a/16113781/1688542

+0

Được rồi, điều đó thật tuyệt vời - cảm ơn bạn rất nhiều. Tôi sẽ cố gắng và báo cáo lại. – JasonG

+0

Có thực sự - khám phá mặt trời. * Cho thấy sun.misc.Unsafe.park đang ăn cpu. – JasonG

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