Cách sử dụng Jmeter cho performance và load testing
Performance testing là một loại test quan trọng để xác định ứng dụng web đang được kiểm tra có đáp ứng các yêu cầu tải cao . Loại test này được dùng để phân tích hiệu năng máy chủ một cách tổng thể khi chịu tải nặng. Apache JMeter testing tool cung cấp các lợi ích sau : JMeter có thể sử ...
Performance testing là một loại test quan trọng để xác định ứng dụng web đang được kiểm tra có đáp ứng các yêu cầu tải cao . Loại test này được dùng để phân tích hiệu năng máy chủ một cách tổng thể khi chịu tải nặng.
Apache JMeter testing tool cung cấp các lợi ích sau:
- JMeter có thể sử dụng các tài nguyên tĩnh như JavaScript và HTML, các tài nguyên động như JSP, Servlets và AJAX
- JMeter có thể phát hiện số lượng người dùng tối đa cùng lúc mà web có thể xử lý
- JMeter cung cấp phân tích đồ họa về báo cáo hiệu suất.
Test performance trên JMeter bao gồm:
- Load testing: Mô phỏng nhiều người dùng truy cập dịch vụ Web cùng lúc
- Stress testing: Mỗi máy chủ web có giá hạn tải tối đa. Khi vượt quá giới hạn, máy chủ sẽ phản hồi chậm và tạo ra bug. Mục đích của Stress test là tìm mức tải tối đa mà máy chủ web có thể xử lý.
Lên kế hoạch về performance test trong JMeter
Trong bài hướng dẫn này, chúng ta sẽ thực hiện phân tích hiệu năng của web Google.com cho 1000 users Trước khi test, chúng ta nên xác định
- Normal Load: số lượng user trung bình lướt web
- Heavy Load: Số lượng user tối dsdaa lướt web
- Mục tiêu của lần thử nghiệm này.
Cụ thể gồm các bước sau:
Bước 1: Add Thread Group
- Chạy JMeter
- Chọn mục Test Plan
- Tạo Thread Group
Trong phần Thread Group, mở Thread properties:
- Number of Threads: 100 (sô lượng users kết nối: 100)
- Loop Count: 10 (số lần thực hiện test)
- Ramp-Up Period: 100
Thread Count và Loop Counts là khác nhau:
Ramp-Up Period cho biết thời gian trì hoãn trước khi bắt đầu tới người dùng tiếp theo. Ví dụ: nếu chúng tôi có 100 users và thời gian Ramp-Up 100 giây thì thời gian trễ giữa các user bắt đầu sẽ là 1 giây (100 giây / 100 user)
Bước 2: Add JMeter elements
- HTTP Request Defaults Thêm phần từ này bằng cách: Nhấn chuột phải vào Thread Group và chọn: Add -> Config Element -> HTTP Request Defaults
Trong bảng HTTP Request Defaults, hãy nhập tên trang web cần được kiểm tra ( http://www.google.com )
- HTTP Request Thêm phần từ này bằng cách:
Nhấn chuột phải vào Thread Group và chọn: Add -> Sampler -> HTTP Request .
Trong Bảng HTTP Request, trường Path cho biết yêu cầu URL nào bạn muốn gửi tới máy chủ Google.
Nếu bạn giữ trường Path trống, JMeter sẽ tạo yêu cầu URL http://www.google.com tới máy chủ Google.
Bước 3: Add Graph results
JMeter có thể hiển thị test result ở định dạng Đồ thị.
Nhấp chuột phải vào Test Plan, Add -> Listener -> Graph Results
Bước 4: Run Test & Get Result
Nhấn nút Run ( Ctrl + R) trên toolbar để bắt đầu tiến trình test. Bạn sẽ thấy kết quả ở dạng đồ thị.
Ở dưới cùng của hình ảnh, có các số liệu thống kê sau đây, được biểu thị bằng màu sắc:
- Đen: Tổng số mẫu hiện tại được gửi.
- Màu xanh dương : Mức trung bình hiện tại của tất cả các mẫu được gửi.
- Màu đỏ : Độ lệch chuẩn hiện tại.
- Màu xanh lá cây : Tỷ lệ thông lượng biểu thị số lượng yêu cầu mỗi phút mà máy chủ xử lý
Hãy phân tích hiệu suất của máy chủ Google trong hình bên dưới.
Để phân tích hiệu suất của máy chủ web đang được kiểm tra, bạn nên tập trung vào 2 tham số:
- Throughput
- Deviation
Tham số quan trọng nhất là Throughput. Nó biểu hiện cho khả năng máy chủ xử lý tải nặng. Throughput càng cao thì hiệu suất máy chủ càng tốt.
Tham số Deviation được hiện màu đỏ, nó chỉ ra sai lệch so với mức trung bình. Giá trị Deviation càng nhỏ thì càng tốt.