JMeter là gì? Tại sao nên dùng công cụ kiểm thử JMeter
Apache JMeter là phần mềm mã nguồn mở được viết bằng Java thuần túy, được phát triển lần đầu tiên bởi Stefano Mazzocchi. Jmeter được thiết kế nhằm kiểm thử chức năng (functional testing), kiểm thử tải (load testing) và kiểm thử hiệu năng (performance testing). Bạn có thể sử dụng JMeter để phân tích và đo lường hiệu năng của ứng dụng web. Kiểm thử hiệu năng là kiểm thử một ứng dụng web chống lại mức tải nặng (heavy load), lượng truy cập người dùng nhiều và đồng thời.
1. Tại sao nên sử dụng Jmeter?
Bạn đã bao giờ kiểm thử một web server (máy chủ web) để biết hiệu quả hoạt động của website như thế nào chưa? Có bao nhiêu người dùng cùng một thời điểm có thể truy cập máy chủ web?
Giả sử một ngày, sếp yêu cầu bạn thực hiện kiểm thử hiệu năng trang www.google.com khi cho 100 người dùng cùng truy cập. Bạn sẽ thực hiện như thế nào?
Không khả thi nếu sắp xếp 100 người với 100 PC đồng thời truy cập trang google.com. Hãy suy nghĩ về yêu cầu cơ sở hạ tầng khi bạn kiểm thử 10.000 người dùng (một con số nhỏ cho một trang web như google). Do vậy, bạn cần một công cụ phần mềm như JMeter để mô phỏng hành vi của người dùng thực tế để kiểm thử hiệu năng và kiểm thử tải trên website.
2. Ưu điểm JMeter
Ưu điểm của JMeter được mô tả như hình bên dưới:
Ưu điểm của JMeter
Bài viết này được đăng tại [free tuts .net]
- Là công cụ mã nguồn mở (Open Source): JMeter hoàn toàn miễn phí, cho phép developer sử dụng mã nguồn.
- Giao diện thân thiện (Friendly GUI): JMeter cực kỳ dễ sử dụng và không mất thời gian để làm quen.
- Nền tảng độc lập (Platform independent): JMeter là ứng dụng Desktop Java thuần túy 100%. Vì vậy, JMeter có thể chạy trên nhiều nền tảng.
- Đa luồng (Full multithreading framework): JMeter cho mô phỏng đồng thời và cùng thời điểm nhiều sampler với các chức năng khác nhau trên các thread group khác nhau.
- Hiển thị kết quả kiểm thử (Visualize Test Result): Kết quả kiểm thử có thể được hiển thị ở định dạng khác như biểu đồ, bảng, tree và file log.
- Cài đặt dễ dàng (Easy installation): Chỉ cần copy và chạy tập tin * .bat để khởi động JMeter, không cần cài đặt.
- Khả năng mở rộng cao (Highly Extensible): Tester có thể viết các kịch bản kiểm thử của riêng mình. JMeter cũng hỗ trợ các plugin trực quan.
- Nhiều chiến lược kiểm thử (Multiple testing strategy): JMeter hỗ trợ nhiều chiến lược kiểm thử như Load Testing, Distributed Testing, và Functional Testing.
- Mô phỏng (Simulation): JMeter có thể mô phỏng nhiều người dùng với các threads đồng thời, tạo tải nặng đối với ứng dụng web đang được kiểm thử.
- Hỗ trợ đa giao thức (Support multi-protocol): JMeter không chỉ hỗ trợ kiểm thử ứng dụng web mà còn đánh giá hiệu năng máy chủ cơ sở dữ liệu. Tất cả các giao thức cơ bản như HTTP, JDBC, LDAP, SOAP, JMS và FTP đều được JMeter hỗ trợ.
- Record & Playback: Ghi lại hoạt động của người dùng trên trình duyệt và mô phỏng chúng trong một ứng dụng web sử dụng JMeter.
- Kịch bản test (Script Test): Jmeter có thể được tích hợp với Bean Shell & Selenium để kiểm thử tự động.
3. JMeter hoạt động như thế nào?
Luồng hoạt động cơ bản của JMeter như hình bên dưới:
Luồng hoạt động cơ bản của JMeter
JMeter mô phỏng một nhóm người dùng gửi yêu cầu đến một máy chủ và trả về thông tin thống kê của máy chủ thông qua biểu đồ.
Quy trình khi gửi một request trong JMeter thể hiện như trong hình bên dưới:
Quy trình khi gửi một request trong JMeter
4. Lịch sử phiên bản Jmeter
Version | Mô tả |
1 | Phiên bản phát hành chính thức đầu tiên |
2.13 | Java 6+ |
3 | Java 7+ |
3.1 | Java 7+ |
3.2 | Java 8+ |
3.3 | Java 8 |
4 | Java 8 / 9 |