Cách sử dụng Jmeter cho performance và load testing

3 min read

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:

Image description
  • 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ý.
Image description

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 đa 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:

Image description

Bước 1: Add Thread Group
Chạy JMeter
Chọn mục Test Plan
Tạo Thread Group

Image description

Trong phần Thread Group, mở Thread properties:

Image description

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:

Image description
Image description

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)

Image description

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

Image description

Trong bảng HTTP Request Defaults, hãy nhập tên trang web cần được kiểm tra ( http://www.google.com )

Image description

**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 .

Image description

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.

Image description

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

Image description

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ị.

Image description

Ở 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

Image description

Để 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.

Avatar photo

Clean Code: Nguyên tắc viết hàm trong lập trình…

Trong quá trình phát triển phần mềm, việc viết mã nguồn dễ đọc, dễ hiểu là yếu tố then chốt để đảm bảo code...
Avatar photo Dat Tran Thanh
3 min read

Leave a Reply

Your email address will not be published. Required fields are marked *