Kiểm tra tải JMeter
JMeter Load Testing là một quá trình kiểm tra được thực hiện bằng công cụ kiểm tra tải có tên là Apache JMeter, là ứng dụng máy tính để bàn mã nguồn mở dựa trên Java. JMeter để kiểm tra tải là một công cụ quan trọng xác định xem ứng dụng web đang được kiểm tra có thể đáp ứng các yêu cầu tải cao hay không. Nó cũng giúp phân tích tổng thể máy chủ dưới tải nặng.
Kiểm tra hiệu suất JMeter
Kiểm tra hiệu suất JMeter là phương pháp Kiểm tra được thực hiện bằng cách sử dụng Apache JMeter để kiểm tra hiệu suất của ứng dụng web. JMeter để kiểm tra hiệu suất giúp kiểm tra cả tài nguyên tĩnh và động, giúp khám phá những người dùng đồng thời trên trang web và cung cấp nhiều phân tích đồ họa để kiểm tra hiệu suất. Kiểm tra hiệu suất của JMeter bao gồm kiểm tra tải và kiểm tra căng thẳng của ứng dụng web.
Công cụ kiểm tra Apache JMeter mang lại lợi ích sau trong Kiểm tra hiệu suất
- JMeter có thể được sử dụng để kiểm tra hiệu suất của cả tài nguyên tĩnh như JavaScript và HTML, cũng như tài nguyên động , chẳng hạn như JSP, Servlets và AJAX.
- JMeter có thể khám phá số lượng người dùng đồng thời tối đa mà trang web của bạn có thể xử lý
- JMeter cung cấp nhiều phân tích đồ họa về báo cáo hiệu suất.
Kiểm tra hiệu suất JMeter bao gồm:
- Kiểm tra tải : Mô hình hóa mức sử dụng dự kiến bằng cách mô phỏng nhiều người dùng truy cập đồng thời vào các dịch vụ Web.
- Kiểm tra căng thẳng : Mọi máy chủ web đều có khả năng tải tối đa. Khi tải vượt quá giới hạn, máy chủ web bắt đầu phản hồi chậm và tạo ra lỗi. Mục đích của Kiểm tra căng thẳng là để tìm tải tối đa mà máy chủ web có thể xử lý.
Hình dưới đây cho thấy cách Kiểm tra tải của JMeter mô phỏng tải nặng:
Tạo kế hoạch kiểm tra hiệu suất trong JMeter
Trong hướng dẫn này, chúng tôi đang thực hiện phân tích hiệu suất của Google.com cho 1000 người dùng
Trước khi kiểm tra hiệu suất của ứng dụng web mục tiêu, chúng ta nên xác định-
- Tải bình thường : Số lượng người dùng trung bình truy cập trang web của bạn
- Tải nặng : Số lượng người dùng tối đa truy cập trang web của bạn
- Mục tiêu của bạn trong bài kiểm tra này là gì?
Đây là lộ trình của ví dụ thực tế này
Bước 1) Thêm nhóm chủ đề
- Khởi động JMeter
- Chọn Kế hoạch Kiểm tra trên cây
- Thêm nhóm chủ đề
Nhấp chuột phải vào "Kế hoạch kiểm tra" và thêm một nhóm chủ đề mới: Thêm -> Chủ đề (Người dùng) -> Nhóm chủ đề
Trong bảng điều khiển Nhóm Chủ đề, nhập Thuộc tính Chủ đề như sau:
- Số chủ đề : 100 (Số lượng người dùng kết nối với trang web mục tiêu: 100)
- Số vòng lặp : 10 (Số thời gian để thực hiện kiểm tra)
- Thời gian tăng tốc : 100
Số lượng chỉ và số vòng lặp là khác nhau.
Giai đoạn Tăng tốc cho JMeter biết thời gian trì hoãn bao lâu trước khi bắt đầu người dùng tiếp theo. Ví dụ: nếu chúng tôi có 100 người dùng và khoảng thời gian Tăng tốc là 100 giây, thì độ trễ giữa những người dùng bắt đầu sẽ là 1 giây (100 giây / 100 người dùng)
Bước 2) Thêm các phần tử JMeter
Bây giờ chúng tôi xác định những yếu tố JMeter trong thử nghiệm này. Các yếu tố là
-
Yêu cầu HTTP mặc định
Phần tử này có thể được thêm bằng cách nhấp chuột phải vào Nhóm chủ đề và chọn: Thêm -> Phần tử cấu hình -> Mặc định yêu cầu HTTP.
Trong bảng điều khiển Mặc định Yêu cầu HTTP, hãy nhập tên Trang web đang kiểm tra (http://www.google.com)
-
Yêu cầu HTTP
Nhấp chuột phải vào Nhóm chủ đề và chọn: Thêm -> Trình lấy mẫu -> Yêu cầu HTTP .
Trong Bảng điều khiển yêu cầu HTTP, trường Đường dẫn cho biết bạn muốn gửi yêu cầu URL nào đến máy chủ Google.
Ví dụ: nếu bạn nhập "lịch" vào trường Đường dẫn. JMeter sẽ tạo yêu cầu URL http://www.google.com.vn/calendar tới máy chủ Google
Nếu bạn để trống trường Đường dẫn, JMeter sẽ tạo yêu cầu URL http://www.google.com tới máy chủ Google.
Trong thử nghiệm này, bạn để trống trường Đường dẫn để JMeter tạo yêu cầu URL http://www.google.com tới máy chủ Google.
Bước 3) Thêm kết quả Đồ thị
JMeter có thể hiển thị kết quả kiểm tra ở định dạng Đồ thị.
Nhấp chuột phải vào Kế hoạch kiểm tra, Thêm -> Trình nghe -> Kết quả Đồ thị
Bước 4) Chạy thử nghiệm và nhận kết quả thử nghiệm
Nhấn nút Run (Ctrl + R) trên Thanh công cụ để bắt đầu quá trình kiểm tra phần mềm. Bạn sẽ thấy kết quả kiểm tra hiển thị trên Graph trong thời gian thực.
Hình dưới đây trình bày một biểu đồ của một kế hoạch thử nghiệm, trong đó chúng tôi mô phỏng 100 người dùng đã truy cập vào trang web www.google.com.
Ở dưới cùng của hình ảnh, có các số liệu thống kê sau, được thể hiện bằng màu sắc:
- Màu đen: Tổng số mẫu hiện tại đã được gửi.
- Màu xanh lam: Giá trị trung bình hiện tại của tất cả các mẫu đã gửi.
- Màu đỏ: Độ lệch chuẩn hiện tại.
- Màu xanh lá cây: Tốc độ 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 dưới đây.
Để phân tích hiệu suất của máy chủ web đang kiểm tra, bạn nên tập trung vào 2 thông số
- Thông lượng
- Độ lệch
Các Throughput là tham số quan trọng nhất. Nó đại diện cho khả năng của máy chủ để xử lý một tải nặng. Các cao hơn các Throughput là, tốt hơn là hiệu suất máy chủ.
Trong thử nghiệm này, thông lượng của máy chủ Google là 1.491,193 / phút. Nó có nghĩa là máy chủ của Google có thể xử lý 1.491.193 yêu cầu mỗi phút. Giá trị này khá cao nên chúng ta có thể kết luận rằng máy chủ Google có hiệu suất tốt
Các độ lệch được thể hiện trong màu đỏ - nó chỉ ra sai lệch so với trung bình. Các nhỏ hơn các tốt hơn .
Hãy so sánh hiệu suất của máy chủ Google với các máy chủ web khác. Đây là kết quả kiểm tra hiệu suất của trang web http://www.yahoo.com/ (Bạn có thể chọn các trang web khác)
Thông lượng của một trang web đang được kiểm tra http://www.yahoo.com là 867.326 / phút. Nó có nghĩa là máy chủ này xử lý 867.326 yêu cầu mỗi phút, thấp hơn Google.
Độ lệch là 2689, cao hơn nhiều so với Google (577). Vì vậy, chúng tôi có thể xác định hiệu suất của trang web này kém hơn một máy chủ của Google.
LƯU Ý: Các giá trị trên phụ thuộc vào một số yếu tố như tải máy chủ hiện tại của Google, tốc độ internet, sức mạnh CPU của bạn, v.v. Do đó, rất ít khả năng bạn sẽ nhận được kết quả tương tự như trên. Vì vậy, đừng hoảng sợ!
Xử lý sự cố:
Nếu bạn gặp sự cố khi chạy trường hợp trên… hãy làm như sau
- Kiểm tra xem bạn có đang kết nối Internet qua proxy hay không. Nếu có, hãy xóa proxy.
- Mở một phiên bản mới của Jmeter
- Mở PerformanceTestPlan.jmx trong Jmeter
- Nhấp đúp vào Nhóm Chủ đề -> Kết quả Đồ thị
- Chạy thử nghiệm