Có lẽ đây là 1 trong những yêu cầu thường được đưa ra trong dự án lúc làm performance test. Ví dụ:
- 100 người cùng login
- 1000 users cùng submit form
- …
Để setup được trên Jmeter, các bạn cần phải sử dụng Synchronizing Timer
. Mình có 1 sample test plan như sau:
- 10 users view homepage –> có user xong trước, có user xong sau
- 10 user “cùng lúc” gọi Login request (tương đương với cùng ấn button
Login
trên UI)
Điểm lưu ý:
- 10 User đồng thời gọi 1 request, ko có nghĩa là cả 10 request đó đến server cùng lúc (sẽ có request đến trước, đến sau hoặc cùng đến, ko ai biết trước)
Nội dung bài viết
I. Setup Synchronizing Timer
File test plan cho mọi người thử. (lưu ý: cần cài Dummy Sampler plugin trước)
Nhiệm vụ của Synchronizing Timer
là đợi 1 khoảng thời gian để gom đủ số lượng user cần thiết theo 2 tiêu chí:
- Số lượng user =
Number of Simulated Users to Group by
- Theo thời gian =
Timeout in milliseconds
Number of Simulated Users to Group by
: Số lượng user sẽ được gộp vào thành 1 group để gửi request đồng thời, trong ví dụ này mình sẽ set bằng 10. Và số này phải là số màNumber of Thread
có thể chia hết, nếu không Jmeter sẽ bị treo, không kết thúc test. Ví dụ:Number of Thread
= 10 thìNumber of Simulated Users to Group by
= 10, 5, 2 hoặc 1.Timeout in milliseconds
: Thời gian đợi để group số lượng user.- Nếu timeout=0 (hoặc ko set) thì sẽ đợi đủ số lượng user trên mục
Number of Simulated Users
- Nếu timeout > 0 thì cứ 1 khoảng thời gian = timeout thì sẽ gửi một số request, ko quan tâm đến
Number of Simulated Users
nữa.
- Nếu timeout=0 (hoặc ko set) thì sẽ đợi đủ số lượng user trên mục
II. Ví dụ 1
Setting: Timeout
=0, Number of Simulated Users to Group by
= 10
- 10 request Login có cùng thời điểm Start Time và đều chạy sau request Homepage
III. Ví dụ 2
Setting: Timeout
=600, Number of Simulated Users to Group by
= 10
- Ở đây, vì cứ 600ms lại gửi request login 1 lần nên số lượng request có cùng Start time đã khác nhau, 3 group riêng biệt, chứ ko còn đủ 10 request như ở ví dụ trước.
IV. Tổng kết
Đây là 1 tính năng để làm thỏa mãn yêu cầu cơ bản của các PM, cũng khá hay ho và hữu ích, các bạn tester học lấy để “phòng thân” nhé. 😀