Jmeter - công cụ kiểm thử hiệu năng cho Web Server hiệu quả

1082
07-06-2018
Jmeter - công cụ kiểm thử hiệu năng cho Web Server hiệu quả

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

Jmeter là gì?

Jmeter là gì

Jmeter là công cụ để đo độ tải và performance của đối tượng

Jmeter là công cụ đo độ tải và performance của đối tượng, được sử dụng để test performance của các ứng dụng web trên cả nguồn tĩnh và nguồn động, 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. 

Ưu và nhược điểm của Jmeter

Ưu điểm

  • Công cụ mã nguồn mở miễn phí
  • Dễ cài đặt
  • Có thể chạy trên nhiều hệ điều hành
  • Hỗ trợ nhiều giao thức (HTTP, SOAP, LDAP, FTP,...), giúp đánh giá hiệu năng của máy chủ
  • Hỗ trở nhiều chiến lược kiểm tra khác nhau bao gồm load testing, distributed testing và functional testing
  • Có phép kiểm thử ở nhiều định dạng bao gồm biểu đồ, bảng, tree,...
  • Giao diện trực quan, rất dễ sử dụng
  • Khả năng đa luồng để xử lý nhiều request cùng lúc, đồng thời xử lý hiệu quả các dữ liệu thu được
  • Khả năng mở rộng cao, nhiều plugin miễn phí được chia sẻ để sử dụng rộng rãi

Nhược điểm

  • Chỉ dành cho ứng dụng web
  • Thiếu hỗ trợ cho ngôn ngữ JavaScript
  • Tiêu tốn khá nhiều bộ nhớ

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.

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

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ủ

JMeter Performance Testing bao gồm:
Tìm hiểu cách thức hoạt động của JMeter Performance Testing

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 ứng dụng web 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ì ứng dụng web 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à ứng dụng web có thể xử lý. 


Tạo 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 
Tạo một Kế hoạch kiểm thử hiệu năng bằng 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.)

Cách tạo một Kế hoạch kiểm thử hiệu năng bằng 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

Thêm phần tử Jmeter

Trên cửa sổ HTTP Request Defaults ta nhập tên Website như sau: 
Tìm hiểu cách thêm phần tử Jmeter

HTTP Request

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

Cách để thêm phần tử 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ủ:

Tìm hiểu cách thêm phần tử 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

Jmeter - công cụ kiểm thử hiệu năng cho Web Server hiệu quả - Ảnh 10.

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

Click button "Start" hoặc Ctrl R để chạy:
Jmeter - công cụ kiểm thử hiệu năng cho Web Server hiệu quả - Ảnh 11.

Kết quả test được hiển thị trên Graph với thời gian thực tế: 
Jmeter - công cụ kiểm thử hiệu năng cho Web Server hiệu quả - Ảnh 12.

Kết quả test: 
Jmeter - công cụ kiểm thử hiệu năng cho Web Server hiệu quả - Ảnh 13.

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

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

Jmeter - công cụ kiểm thử hiệu năng cho Web Server hiệu quả - Ảnh 14.

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: 
Jmeter - công cụ kiểm thử hiệu năng cho Web Server hiệu quả - Ảnh 15.

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

Độc giả quan tâm đến các giải pháp của Bizfly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

SHARE