Hits: 1371
Có lẽ chúng ta đã quá quen thuộc với việc chạy test performance trên giao diện phần mềm Apache JMeter. Tuy nhiên vẫn có một cách nữa để có thể chạy test đó là sử dụng cmd (Command Prompt) của Windows .
Bài viết sau đây mình sẽ hướng dẫn các bạn cách chạy JMeter bằng command line / Non GUI mode một cách chi tiết.
NỘI DUNG CHÍNH
1. Tại sao chạy JMeter bằng command line / Non GUI mode ?
Chế độ GUI mode trực quan và dễ sử dụng, tại sao lại cần dùng command line để chạy làm gì cho nhọc nhỉ? Tất nhiên nó phải có ưu điểm gì đó mà chế độ GUI mode không thể đáp ứng được rồi.
Cùng điểm qua một số ưu điểm sau đây:
- Tránh crash app: Tăng số lượng request do JMeter bị treo trong chế độ GUI.
- JMeter tiêu thụ ít bộ nhớ hơn ở chế độn Non GUI, do đó làm tăng khả năng của JMeter để thực hiện nhiều yêu cầu hơn mỗi giây.
- Đối với các tình huống thử nghiệm nặng (như là website thương mại điện tử mua sắm có các action sau: đăng nhập, thêm vào giỏ hàng, thực hiện thanh toán, tạo hóa đơn…) JMeter bị tiêu tốn CPU, RAM và nó có thể ảnh hưởng đến kết quả thử nghiệm của bạn.
Mình đã gặp một số lần chạy test dự án trên công ty dùng giao diện JMeter không đáp ứng được do ngốn quá nhiều RAM, CPU thế là nó bị đơ luôn. (Mặc dù dã dùng máy ảo mạnh tới 32Gb RAM nhé)
Sau đó chuyển qua dùng command line để chạy thì nó ngon ơ :))

2. Cách chạy JMeter bằng command line / Non GUI mode
Bước 1: Tạo file chạy test performance (.jmx), bạn có thể tham khảo các bài viết trước tại đây:
Sử dụng GUI mode của JMeter: JMeter Series – Hướng Dẫn Sử Dụng JMeter Test Performance Website
Record thao tác bằng BlazeMeter Extension: JMeter Series – Hướng Dẫn Record JMeter Script Bằng BlazeMeter Chrome Extensions
Mình tạo file test như sau và lưu tại desktop

Bước 2: Mở Command Prompt (Nhấn Win + S gõ “cmd” hoặc “command” là ra)

Bước 3: Link đến thư mục bin của JMeter
Trên máy của mình đường dẫn thư mục bin là: D:\Software\apache-jmeter-5.5\bin
thì gõ trên cmd như sau cd D:\Software\apache-jmeter-5.5\bin
* Lưu ý nếu cd từ ổ đĩa C sang ổ đĩa D không hoạt động thì bạn cần nhập như sau: cd /d D:


Bước 4: Chạy file .jmx và lưu lại kết quả test
Gõ trên cmd như sau:
– Đối với Windows: jmeter -n -t (đường dẫn file test script) -l (đường dẫn file kết quả test)
– Đối với MAC và Linux: sh jmeter -n -t (đường dẫn file test script) -l (đường dẫn file kết quả test)
Ở bài hướng dẫn này mình gõ như sau: jmeter -n -t “C:\Desktop\test-non-gui.jmx” -l “C:\Desktop\Result.csv”
Nếu thấy kết quả như dưới đây tức là script đã được chạy xong và lưu kết quả vào file Result.csv trên Desktop.

Nếu bạn muốn thay đổi số lượng Threads thì mở file .jmx ở chế độ GUI, chỉnh sửa và lưu lại, sau đó chạy lại trên cmd.


Mở file Result.csv để xem kết quả.

3. Lời kết:
Bằng cách chạy test sử dụng Non GUI mode như trên, bạn có thể khắc phục được nhiều lỗi so với chạy GUI mode thông thường. Cải thiện và tăng số lượng request lên đáng kể đem lại kết quả đo hiệu năng một cách chính xác hơn.
Cảm ơn bạn đã dành thời gian để đọc bài viết này. Hẹn gặp lại ở những bài viết tiếp theo trong JMeter Series nhé !