Để tối ưu hóa OutOfMemoryError
các bước cần được theo dõi:
- Tăng Kích thước Heap Java:
JMeter là một công cụ Java nó chạy với JVM. Để có được khả năng tối đa, chúng ta cần phải cung cấp tài nguyên tối đa cho JMeter trong khi thực thi. Trước tiên, chúng ta cần tăng kích thước heap heap (Thư mục bin bên trong JMeter, chúng tôi nhận được jmeter.bat/sh
).
HEAP=-Xms512m –Xmx512m
Điều đó có nghĩa là kích thước phân bổ mặc định là tối thiểu 512MB, tối đa 512MB. Cấu hình nó theo từng cấu hình máy riêng của bạn. Nó cũng nên được lưu ý rằng hệ điều hành cũng cần một số lượng bộ nhớ, do đó, tất cả các bộ nhớ RAM vật lý không nên được phân bổ.
- chạy thử nghiệm trong Non-GUI Mode:
JMeter là Java GUI ứng dụng. Nó cũng có phiên bản không phải là GUI rất chuyên sâu về tài nguyên (CPU/RAM). Nếu chúng tôi chạy Jmeter ở chế độ không phải GUI, nó sẽ tiêu thụ ít tài nguyên và chúng tôi có thể chạy nhiều chuỗi hơn.
- Tắt TẤT CẢ người nghe trong khi chạy thử. Chúng chỉ để gỡ lỗi và sử dụng chúng để thiết kế kịch bản mong muốn.
Người nghe phải tắt trong khi kiểm tra tải.Việc kích hoạt chúng gây ra chi phí bổ sung, tiêu thụ tài nguyên có giá trị cần thiết bởi các yếu tố quan trọng hơn trong thử nghiệm của bạn.
- Sử dụng Up-to-Date phần mềm:
Java và JMeter nên được giữ cập nhật.
- quyết định nào Metrics bạn cần lưu trữ:
Khi nói đến việc lưu trữ các yêu cầu và các tiêu đề phản ứng, kết quả khẳng định và dữ liệu phản ứng có thể tiêu tốn rất nhiều bộ nhớ! Vì vậy, nó là khôn ngoan cố gắng không để lưu trữ các giá trị này trên JMeter trừ khi nó là hoàn toàn cần thiết.
Những lập luận JVM sau trong script khởi động JMeter cũng có thể được bổ sung hoặc sửa đổi:
1. Thêm tỷ lệ phân bổ bộ nhớ:
NEW=-XX:NewSize=128m -XX:MaxNewSize=512m
Điều này có nghĩa là bộ nhớ sẽ được tăng lên với tốc độ này.
2.-server
- công tắc này JVM thành chế độ "máy chủ" với tối ưu hóa thông số thời gian chạy. Trong chế độ này, JMeter bắt đầu chậm hơn, nhưng thông lượng tổng thể sẽ cao hơn.
3.-d64
- Trong khi sử dụng hệ điều hành 64 bit, sử dụng thông số này có thể cho JVM biết rõ ràng để chạy ở chế độ 64 bit.
4.-XX:+UseConcMarkSweepGC
- điều này buộc sử dụng bộ thu gom rác CMS. Nó sẽ làm giảm lưu lượng tổng thể nhưng dẫn đến các bộ sưu tập rác chuyên sâu CPU ngắn hơn nhiều.
5.-XX:+DisableExplicitGC
- điều này ngăn cản các ứng dụng buộc phải thu gom rác thải đắt tiền và giúp tránh những gián đoạn không mong muốn.
Để hiểu rõ hơn và chi tiết hơn, blog này về 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure là hữu ích.
Nếu bạn có một máy đặc điểm kỹ thuật tốt vì vậy bạn sẽ phải sử dụng nó bằng cách tăng kích thước heap của bạn hoặc nhiều lý do khác cho lỗi này, tham khảo này để biết thêm chi tiết http://edu.yoursfriends.com/787/out-of-memory-error-in -jmeter –