Hướng dẫn jmeter

  • Techblog
  • Dịch vụ Cloud Computing

Performance Testing - Kiểm thử hiệu năng

Là việc xác định một hệ thống, một ứng dụng web có đáp ứng và ổn định với hàng loạt yêu cầu độ tải cao? Được sử dụng để phân tích hiệu suất máy chủ tổng thể dưới tải nặng. Cùng Bizfly Cloud tìm hiểu thông tin chi tiết về Jmeter ngay tại bài viết dưới đây nhé.

1. Jmeter là gì?

Hướng dẫn jmeter

Jmeter là công cụ để đo độ tải và performance của đối tượng, có thể sử dụng để test performance trên cả nguồn tĩnh và nguồn động, có thể kiểm tra độ tải và hiệu năng trên nhiều loại server khác nhau như: Web – HTTP, HTTPS, SOAP, Database via JDBC, LDAP, JMS, Mail – SMTP(S), POP3(S) và IMAP(S)…

Jmeter là một phần mềm mã nguồn mở được viết bằng java. Cha đẻ của JMeter là Stefano Mazzocchi. Sau đó Apache đã thiết kế lại để cải tiến hơn giao diện đồ họa cho người dùng và khả năng kiểm thử hướng chức năng.

2. Đặc trưng của Jmeter

  • Nguồn mở, miễn phí.
  • Giao diện đơn giản, trực quan dễ sử dụng.
  • Có thể kiểm thử nhiều kiểu server: Web - HTTP, HTTPS, SOAP, Database - JDBC, LDAP, JMS, Mail - POP3,…
  • Một công cụ độc lập có thể chạy trên nhiều nền tảng hệ điều hành khác nhau, trên Linux chỉ cần chạy bằng một shell scrip, trên Windows thì chỉ cần chạy một file .bat
  • Đa luồng, giúp xử lý tạo nhiều request cùng một khoảng thời gian, xử lý các dữ liệu thu được một cách hiệu quả.
  • Đặc tính mở rộng, có rất nhiều plugin được chia trẻ rộng rãi và miễn phí.

3. Cách thức hoạt động

Jmeter thực hiện giả lập một nhóm người dùng gửi các yêu cầu tới một máy chủ, nhận và xử lý các phản hồi từ máy chủ và cung cấp các kết quả báo cáo hiệu suất dưới dạng biểu đồ trực quan, dễ hiểu.

Hướng dẫn jmeter

JMeter Performance Testing bao gồm:

Hướng dẫn jmeter

Load testing: Mô hình hóa dự kiến sử dụng bởi nhiều người dùng truy cập một dịch vụ website trong cùng thời điểm.

Stress testing: Tất cả các web server có thể tải một dung lượng lớn, khi mà tải trọng vượt ra ngoài giới hạn thì web server bắt đầu phản hồi chậm và gây ra lỗi. Mục đích của stress testing là có thể tìm ra độ tải lớn mà web server có thể xử lý.

Tìm hiểu thêm: Web Server là gì? Tìm hiểu cơ chế vận hành của web server

4. Tạo một Kế hoạch kiểm thử hiệu năng bằng Jmeter

Trước khi thực hiện kiểm thử hiệu năng cho bất kỳ 1 hệ thống nào, bạn cũng cần phải xác định được: Mục tiêu của việc kiểm thử này là gì?

Để minh họa cho một kế hoạch kiểm thử hiệu năng, tôi thực hiện phân tích hiệu suất của máy chủ website Vietnamnet (http://vietnamnet.vn/): Máy chủ Vietnamnet có thể xử lý bao nhiêu yêu cầu mỗi phút?

B1. Thêm Thread Group

Click chuột phải vào Test Plan >> Add >> Threads (Users) Thread Group

Hướng dẫn jmeter

Trên cửa sổ Thread Group ta thực hiện nhập Thread properties như sau:

Number of Threads - Số lượng người sử dụng truy cập vào website: 100 Ramp-Up Period: 100 Loop Count - Số thời gian thực hiện kiểm tra: 5

(Ramp-Up cùng với Number of Threads sẽ chỉ ra được thời gian trì hoãn trước khi một người dùng tiếp theo bắt đầu sử dụng. Ví dụ: Nếu chúng ta có 100 người dùng và Ram-up 100 giây thì sự chậm trễ giữa những người dùng sẽ là 1 giây.)

Hướng dẫn jmeter

B2. Thêm phần tử Jmeter

HTTP request default

Click chuột phải vào Thread Group Vietnamnet >> Add >> Config Element HTTP Request Defaults

Hướng dẫn jmeter

Trên cửa sổ HTTP Request Defaults ta nhập tên Website như sau:

Hướng dẫn jmeter

HTTP Request

Click chuột phải vào Thread Group Vietnamnet >> Add >> Sampler HTTP Request

Hướng dẫn jmeter

Trên cửa sổ HTTP Request, trường Path sẽ chỉ ra URL request nào bạn muốn gửi tới máy chủ:

  • Nếu để trống JMeter sẽ tạo URL request http://vietnamnet.vn/ tới máy chủ
  • Nếu muốn tạo URL request http://vietnamnet.vn/vn/thoi-su/ thì nhập: vn/thoi-su/

Hướng dẫn jmeter

B3. Thêm Graph result

Hiển thị kết quả dưới dạng biểu đồ Click chuột phải vào Thread Group Vietnamnet >> Add >> Listener Graph Results

Hướng dẫn jmeter

B4. Chạy và lấy kết quả

Click button "Start" hoặc Ctrl R để chạy:

Hướng dẫn jmeter

Kết quả test được hiển thị trên Graph với thời gian thực tế:

Hướng dẫn jmeter

Kết quả test:

Hướng dẫn jmeter

B5. Phân tích kết quả

Để phân tích Performance của Web server, ta tập trung vào hai thông số: Throughput và Deviation.

Hướng dẫn jmeter

Throughput là thông số quan trọng nhất, nó miêu tả cho khả năng server có thể xử lý được độ tải lớn.

Trong kết quả test thông số Throughput của máy chủ Vietnamnet là 300.939/phút. Tức là, máy chủ Vietnamnet có thể xử lý 300.939 yêu cầu trên mỗi phút.

Deviation thể hiện sự sai lệch hiện tại so với mức trung bình, thông số này càng nhỏ thì càng tốt.

Deviation của Vietnamnet là 118.

Để có cơ sở nhận định về hiệu năng của máy chủ Vietnamnet, tôi đã thực hiện đo hiệu năng của máy chủ Dân trí (http://dantri.com.vn/) với Thread properties như trên, kết quả thu được:

Hướng dẫn jmeter

Throughput: 299.464/phút Deviation: 90

Với throughput gần tương đương nhau, nhưng độ lệch của máy chủ Vietnamnet (118) lớn hơn so với Dantri (90), chúng ta có thể xác định rằng hiệu suất của Vietnamnet là thấp hơn Dantri.

Tài liệu tham khảo:

http://www.guru99.com/jmeter-performance-testing.html

http://blog.co-mit.com/post/35/Sử dụng Jmeter để test hiệu năng của website

Theo viblo.asia

\>> Có thể bạn quan tâm: Performance Test, Load Test và Stress Test khác nhau như thế nào?

BizFly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.