Trang chủ Lập trình Kiểm tra tốc độ và chịu tải của API bằng Apache JMeter

Kiểm tra tốc độ và chịu tải của API bằng Apache JMeter

1492
0

Sản phẩm dịch vụ của bạn sẽ ra sao nếu có một lượng lớn người truy cập? Server sẽ phản hồi lại các yêu cầu của Client trong bao lâu? Apache Jmeter là một ứng dụng phần mềm sẽ giúp các bạn trả lời những câu hỏi đó

Ở bài viết này, mình sẽ làm một cách đơn giản về cách kiểm tra tốc độ, chịu tải của API bạn viết với Apache JMeter.

1. Vậy Apache JMeter là gì?

  1. Là một phần mềm mã nguồn mở được viết bằng ngôn ngữ Java.
  2. Là công cụ để kiểm tra hiệu suất (Performance) trên cả tài nguyên tĩnh (Static) và tài nguyên động (Dynamic).
  3. Và được dùng để đo độ tải nặng (heave load) trên một server, nhóm server, mạng hoặc các đối tượng khác.

Nói cách khác, nó là cỗ máy mô phỏng vô số trường hợp, kịch bản truy vấn khác nhau và hiển thị báo cáo của hiệu xuất dữ liệu theo nhiều cách, kể cả CSV, XML và đồ thị các kiểu. Vì nó là phần mềm Java nên có thế chạy trên mọi hệ điều hành, chỉ cần Java 6 trở lên là được rồi.

2. Những tính năng của Apache JMeter

  • Khả năng kiểm tra thử tải và hiệu năng của nhiều giao thức ứng dụng, máy chủ khác nhau như:
    • Web – HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
    • SOAP/REST Webservices
    • FTP
    • Database via JDBC
    • LDAP
    • Message-oriented middleware (MOM) via JMS
    • Mail – SMTP(S), POP3(S) and IMAP(S)
    • Native commands or shell scripts
    • TCP
    • Các đổi tượng Java
  • Đầy đủ các tính năng test IDE, cho phép ghi lại các test plan một cách nhanh chóng (Từ trình duyệt hoặc các ứng dụng )
  • Chế độ dòng lệnh (Command-line) để kiểm tra độ tải từ các hệ điều hành tương thích với Java (Linux, Window, Mac …)
  • Đưa ra báo cáo và trình bày HTML động
  • Dễ dàng tương tác thông qua khả năng trích xuất dữ liệu từ các định dạng phản hồi phổ biến như HTML, JSO, XML…
  • Do viết bằng Java nên nó có tính đa nền tảng (Kiểm thử trên nền tảng nào cũng được)
  • Cho phép mô phỏng đồng thời nhiều thread
  • Bộ nhớ đệm và cho phép phân tích, tái hiện kết quả test một cách offiline
  • Caching and offline analysis/replaying of test results.
  • Phần lõi có khả năng mở rộng cao

3. Cài đặt Apache JMeter

Yêu cầu: Java 8 hoặc Java 9 cho Apache JMeter 5.0 trở lên

Download tại website, sau khi tải xong, giải nén file zip trong thư mục bạn muốn.

Kiểm tra tốc độ và chịu tải của API bằng Apache JMeter
Kiểm tra tốc độ và chịu tải của API bằng Apache JMeter

Bây giờ các bạn hãy truy cập vào thư mục bin của jmeter sau đó chạy dòng lệnh

./jmeter.sh
Kiểm tra tốc độ và chịu tải của API bằng Apache JMeter
Kiểm tra tốc độ và chịu tải của API bằng Apache JMeter

Lưu ý: Vì Apache Jmeter được viết 100% bằng Java nên để chạy được Apache Jmeter các bạn cần phải cài đặt JRE hoặc JDK

Sau khi chạy jmeter.sh, một màn hình giao diện hiện lên.

1. Trong Thread Group, mình chọn số lượng user là 10 là số thread tạo ra của mỗi user là 1000. Như vậy, trong cùng một lúc mình tạo ra khoảng 10000 request lên API test.

Kiểm tra tốc độ và chịu tải của API bằng Apache JMeter
Kiểm tra tốc độ và chịu tải của API bằng Apache JMeter

2. Mình tạo một HTTP request kiểm tra API bên dưới.

Kiểm tra tốc độ và chịu tải của API bằng Apache JMeter
Kiểm tra tốc độ và chịu tải của API bằng Apache JMeter

3. Sau đó, hãy bấm nút Play để kiểm tra, kết quả sẽ được hiển thị bên dưới màn hình View Results in Table dưới đây:

Cài đặt Apache JMeter

Trên đây là bài viết hướng dẫn download, cài đặt và chạy thử Apache JMeter một lần kiểm tra độ chịu tải của API, kết quả ko được đẹp cho lắm :D,

Chúc các bạn thành công!

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.