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à 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.
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ủ
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
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.)
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
Click chuột phải vào Thread Group Vietnamnet >> Add >> Sampler HTTP Request
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/
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
B4. Chạy và lấy kết quả
Click button "Start" hoặc Ctrl R để chạy:Để phân tích Performance của ứng dụng Web, ta tập trung vào hai thông số: Throughput và Deviation.
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.
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