JMeter – Hướng dẫn chạy JMeter bằng command line / Non GUI mode

Hits: 1371

5/5 - (1 bình chọn)

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.

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 ơ :))

Chạy JMeter bằng command line - open cmd
Chạy JMeter bằng command line – open cmd

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

Chạy JMeter bằng command line - tạo test script
Chạy JMeter bằng command line – tạo test script

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

Chạy JMeter bằng command line - search cmd
Chạy JMeter bằng command line – search cmd

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:

Chạy JMeter bằng command line - JMeter bin folder
Chạy JMeter bằng command line – JMeter bin folder
Chạy JMeter bằng command line - cd JMeter bin folder
Chạy JMeter bằng command line – cd JMeter bin folder

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.

Chạy JMeter bằng command line - run test script
Chạy JMeter bằng command line – run test script (1 thread)

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.

Chạy JMeter bằng command line - sửa test script
Chạy JMeter bằng command line – sửa test script
Chạy JMeter bằng command line – run test script (10 threads)

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

Chạy JMeter bằng command line - kết quả test
Chạy JMeter bằng command line – kết quả test

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é !

Leave a Comment

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

RSS
Follow by Email
LinkedIn
Share
Instagram
Scroll to Top
Scroll to Top