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é.
1. Jmeter là gì?
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.
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
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 Web server, 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