2. Tại sao sử dụng JMeter?
Bạn đã bao giờ kiểm thử một trang web mà biết nó hoạt động tốt chưa? Bao nhiêu người truy cập mà trang web vẫn hoạt động tốt, không hề xảy ra vấn đề gì?
Giả sử một ngày nào đó, sếp yêu cầu bạn kiểm thử hiệu năng của trang web www.google.com cho 100 người dùng truy cập một lúc, khi đó bạn sẽ làm gì?
www.google.com cho 100 người dùng truy cập một lúc, khi đó bạn sẽ làm gì?
Bạn nghĩ ra cách 100 người sử dụng 100 máy PC truy cập đồng thời hay sao? Thật không khả thi chút nào khi điều kiện thiết bị không cho phép. Nếu sếp bạn lại bảo cho số lượng lên đến 1000 lại càng không thể. Chính vì vậy cần phải có một công cụ (tool) để bạn thực hiện mô phỏng những hành vi của con người để kiểm thử hiệu suất của trang web đó chính là JMeter.
3. Hướng dẫn cách cài đặt JMeter
Bước 1 : Cài đặt JDK
Vì JMeter viết bằng Java nên để chạy được JMeter thì chúng ta phải cài đặt JRE hoặc JDK ( https://www.oracle.com/java/technologies/javase-downloads.html ) . Xem hướng dẫn chi tiết tại đây https://www.guru99.com/install-java.html
Bước 2: Đi đến trang web Apache của JMeter để download: https://jmeter.apache.org/download_jmeter.cgi
Click vào apache-jmeter-5.3.zip để download.
Bước 3: Giải nén file zip vừa tải về.
Bước 4: Vào folder bin và click đúp vào file jmeter.bat để chạy.
Giao diện JMeter sẽ hiển thị như sau:
4. Các thành phần của JMeter: Thread Group, Samplers, Listeners, Configuration
1. Thread Group
Thread group là đại diện cho một nhóm người dùng và chứa các Thread khác. Mỗi Thread Group sẽ mô phỏng những người dùng để thực hiện một trường hợp thử nghiệm cụ thể. Một số thông số cần chú ý trong Thread Group:
– Number of Threads: Mỗi Thread đại diện cho một người dùng ảo, JMeter cho phép thay đổi số lượng người dùng không hạn chế để thực hiện các thử nghiệm.
– Ram-Up Period: Thời gian để bắt đầu tất cả các Thread.
– Loop Count: Số lần lặp lại những yêu cầu của người dùng.
a. Cách tạo Thread Group: Click chuột phải vào Test plan -> Add -> Threads (Users) -> Thread Group
b. Nhập thuộc tính thread
Samplers sẽ chỉ thị JMeter gửi request đến server và chờ đợi phản hồi. Để connect tới server, users cần tạo những request.
Cách tạo Sampler: Click chuột phải vào Thread Group -> Add -> Sampler -> chọn bất kỳ Sampler bạn muốn.
Sampler bao gồm:
Ví dụ 1: khi sử dụng HTTP Request Default:
Cách tạo : click chuột phải vào Thread Group và chọn : Add ->Config Element ->HTTP Request Defaults.
Trong HTTP Request Defaults control panel, Nhập Sever Name or IP (http://www.google.com)
Ví dụ 2: khi sử dụng HTTP Request:
Bạn muốn 100 người dùng sẽ tấn công https://www.google.com đồng thời. Cách tạo: click phải vào thread group -> Add -> Sampler -> HTTP Request.
Trong HTTP Request Control Panel, nhập path URL request mà bạn muốn send tới google server
Ví dụ , URL request là http://www.google.com/calendar -> path : calendar
3. Listeners
Sau khi tạo và gửi yêu cầu tới server, JMeter sẽ nhận kết quả trả về và hiển thị. Listeners cho phép xem các kết quả thu được từ việc chạy dưới dạng các loại khác nhau, như: bảng biểu, đồ thị, cây… Listeners sẽ cung cấp một cách trực quan những dữ liệu thu được. Chúng ta cùng tìm hiểu một số dạng phổ biến như sau:
Cách tạo: Click chuột phải Thread group -> Add -> Listener -> Chọn dạng kết quả
Ví dụ : Click chuột phải vào Test Plan, Add ->Listener ->Graph Results
– View Results Tree: Cho phép theo dõi thông tin của dữ liệu mà server trả về cho mỗi người dùng dưới các dạng khác nhau.
– Graph Results:
Trả về đồ thị biểu diễn những thông số về: số lượng yêu cầu, lượng yêu cầu được xử lý mỗi phút, giá trị trung bình, giá trị trung vị của toàn bộ thời gian phản hồi từ server.
– Summary Report: Cung cấp báo cáo về các giá trị: thời gian phản hồi thấp nhất/cao nhất, số yêu cầu xảy ra lỗi, lưu lượng trung bình.
4. Configuration
Configuration dùng để thiết lập các giá trị mặc định và các biến để sử dụng sau này bởi các samplers. Hình dưới đây cho thấy một số configuration elements thường được dùng trong JMeter:
CSV Data Set Config
Trường hợp bạn muốn muốn kiểm thử đồng thời 100 người dùng đăng nhập bằng thông tin đăng nhập khác nhau. Khi đó bạn không cần ghi lại kịch bản 100 lần. Bạn có thể lưu trữ thông tin đăng nhập (tên người dùng, mật khẩu) vào một file text. Sử dụng “CSV Data Set Config ” để đọc các tham số từ file.
HTTP Cookie Manager
Bạn đã bao giờ vào một trang web, ví dụ: https://shopee.vn, đăng nhập bằng người dùng và mật khẩu của bạn. Sau đó bạn tắt đi và mở lại thì thấy không cần đăng nhập nữa. Có khi nào bạn thắc mắc: Tại sao mình không phải đăng nhập nữa không? Lí do là trình duyệt của bạn sẽ sử dụng cookie làm dữ liệu người dùng để đăng nhập. JMeter cung cấp trình quản lý HTTP Cookie Manager cũng có tính năng tương tự như trình duyệt web. Nếu bạn có yêu cầu HTTP Request có chứa cookie, Cookie Manager sẽ tự động lưu trữ cookie đó và sẽ sử dụng nó cho tất cả các yêu cầu trong tương lai tới trang web cụ thể đó. Đây là màn hình HTTP Cookie Manager:
HTTP request default
HTTP request default cho phép bạn đặt các giá trị mặc định mà bộ điều khiển HTTP Request của bạn sử dụng. Ví dụ: Bạn đang gửi 100 yêu cầu HTTP đến máy chủ google.com. Bạn sẽ phải nhập thủ công tên máy chủ = google.com cho tất cả 100 yêu cầu này. Thay vào đó, bạn có thể thêm một HTTP request defaults với trường “Tên máy chủ hoặc IP” = google.com. Không cần gõ 100 lần!
Login Config Element
Login Config Element cho phép bạn thêm hoặc ghi đè cài đặt tên người dùng và mật khẩu. Ví dụ: bạn muốn mô phỏng một người dùng đăng nhập vào trang web www.facebook.com bằng người dùng và mật khẩu. Bạn có thể sử dụng Login Config Element để thêm cài đặt mật khẩu và người dùng này trong yêu cầu người dùng. Ở đây bạ sẽ thấy JMeter sẽ cung cấp Username và password để bạn điền
So sánh giữa Login Config Element và CSV data Config
Login Config Element | CSV data Config |
---|---|
Mô phỏng đăng nhập một người dùng | Mô phỏng đăng nhập nhiều người dùng |
Chỉ thích hợp cho tham số đăng nhập (người dùng và mật khẩu) | Thích hợp cho số lượng lớn các tham số |
Trên đây là một số thành phần cần chú ý và thường sử dụng trong JMeter, mong nó sẽ giúp bạn trong việc tìm hiểu JMeter.
Tài liệu tham khảo:
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE