Cài đặt và sử dụng Jmeter – test hiệu năng website
Trang 1 trong tổng số 1 trang
Cài đặt và sử dụng Jmeter – test hiệu năng website
Jmeter 2.1.1
1. Cài đặt Jmeter 2.1.1 trên ubuntu (JMeter requires a fully compliant JVM 6 or higher) bằng terminal
- tải jmeter tại trang : http://jmeter.apache.org/download_jmeter.cgi
wget http://mirrors.digipower.vn/apache//jmeter/binaries/apache-jmeter-2.11.tgz
- giải nén file vừa download về (chuyển đến thư mục file đc download về)
tar -zxvf apache-jmeter-2.11.tgz
- chạy jmeter : Chuyển đến thư mục bin trong thư mục vừa giải nén ra (apache-jmeter-2.11)
./jmeter.sh
Sau khi chạy thành công
2.Hướng dẫn lập 1 Test Plan để thực hiện test web site theo kịch bản .
a. giả lập nhiều user cùng truy cập vào website đồng thời.
chuột phải vào Test Plan –> Add –> Threads(users) –> Thread Group
Name : đặt tên cho ThreadGroup
Number of Threads(users) : số lượng người dùng mà ta muốn mô phỏng.
Ramp-up Period (in seconds): Chọn 0 để thực hiện người dùng thực hiện truy cập cùng lúc. (Đây là khoảng thời gian tạo số thread).
Loop Count Forever : 1 các thread được tạo sẽ thực hiện 1 lần( thay 1 bằng n thì số các thread sẽ lặp n lần).
b. Tạo request đến server
1 thread(tương ứng 1 user) có thể tạo nhiều request http gửi lên server .
Chuột phải vào Thread group –> add –> sample –> http request
Name : đặt tên request
Server name or Ip : điền địa chỉ trang web cần truy cập.
Nếu biết ip và cổng thì : điền ip vào Server Name or Ip và số cổng vào Port Number, đường dẫn đến website cần truy cập vào Path.
ví dụ
Truy cập vào trang http://dantri.com.vn chỉ cần điền
Server Name or Ip : dantri.com.vn
Truy cập vào trang http://127.0.0.1:100/website/login thì điền
Server Name or ip : 127.0.0.1
Port number : 100
Path : /website/login
Method : get hoặc post tùy vào request chúng ta tạo.
Với các method cần gửi các tham số lên server, bạn cần phải biết tất cả các tham số trong request đó và tất cả các tham số đó cần cho điền vào phần Paremeters (click add để thêm từng cặp tham số + giá tri.)
c. Trích thông tin của kết quả request này, để sử dụng cho các request trong tương lai.
chuột phải vào HTTP request –> add –> post processors –> xpath extractor
Reference Name : tên biến
Xpath query : truy vấn đến giá trị cần sử dụng của element
ví dụ :
Reference name : myViewState
Xpath query : //input[@id='j_id1:javax.faces.ViewState:0']/@value
Biến myViewState lưu giá trị của thẻ input có id = “j_id1:javax.faces.ViewState:0″.
Các request sau này muốn dùng giá trị của thẻ trên, lấy myViewState bằng cách gọi ${myViewState}
d. Test kết quả request
Muốn biết request có response như mong muốn không, cần thêm assertion cho request.
chuột phải http Request –> Add –> Assertions –> Response Assertion.
Phần Pattern Matching Rules : check contains để check xem response của request có chứa kết quả mong muốn không.
Phần Patter to Test : click nút Add, sau đó điền string cần check vào
Nếu kết quả response không chứa string cần check thì phần thống kê kết quả sẽ báo lỗi.
e. Quản lý cookie
Chuột phải vào Thread Group –> Add –> Config Element –> Http Cookie Manager
Cookie manager : sẽ lưu và gửi cookie như trình duyệt. Nếu bạn có 1 http request và response chứa cookie, Cookie manager sẽ tự động lưu cookie đó và sẽ gửi cookie đó cho tất cả các request sau đó đối với trang web đó.
f. Đồng bộ thời gian của các request.
Chuột phải vào thread group –> add –> timer –> Sunchronizing timer
Không cần chỉnh sửa, để mặc định các tham số.
Ví dụ : với kịch bản , có 10 người đồng thời login vào trang web cần test, sau khi login xong, 10 người này đồng thời thực hiện thao tác giống nhau click vào 1 button trong trang web. Bạn sẽ cần phải sử dụng Synchronizing Timer để thực hiện kịch bản này.
g. Xem kết quả của kịch bản test
- Xem kết quả tổng hợp của tất cả các thread
Chuột phải vào Thread Group –> Add -> Listener –> Summary Report
Bảng thống kê kết quả
Label : tên request
# Sample : số request
Average : thời gian trung bình xử lý các request
min : thời gian nhỏ nhất xử lý request
max : thời gian nhỏ nhất xử lý request
std Dev: độ lệch chuẩn của thời gian xủ lý các request
Error : phần trăm bị lỗi của các request(lỗi kết nối hoặc lỗi cho đầu ra không mong muốn)
thoughput : số request/s của server
avg.bytes : số bytes trung bình của response
kb/s = (avg.bytes*thoughput)/1024
- Xem kết quả của từng Request trong kịch bản
Chuột phải Thread Group –> Add –> Listener –> View Results Tree
Ví dụ : sau khi chạy chương trình, trong phần view results tree hiển thị thông tin các request và kết quả của chúng.
Các request xanh là request không lỗi, các request đỏ bị lỗi. Click vào mỗi request tương ứng bên cạnh sẽ có 3 phần thông tin về request đó : sample result, request, response data.
h. Chạy chương trình test
Sau khi thiết lập các request theo kịch bản, trên menu chọn run–>start.
Click vào View Results Tree hoặc Summary Report để xem kết quả.
Tham khảo thêm http://jmeter.apache.org/usermanual/component_reference.html
1. Cài đặt Jmeter 2.1.1 trên ubuntu (JMeter requires a fully compliant JVM 6 or higher) bằng terminal
- tải jmeter tại trang : http://jmeter.apache.org/download_jmeter.cgi
wget http://mirrors.digipower.vn/apache//jmeter/binaries/apache-jmeter-2.11.tgz
- giải nén file vừa download về (chuyển đến thư mục file đc download về)
tar -zxvf apache-jmeter-2.11.tgz
- chạy jmeter : Chuyển đến thư mục bin trong thư mục vừa giải nén ra (apache-jmeter-2.11)
./jmeter.sh
Sau khi chạy thành công
2.Hướng dẫn lập 1 Test Plan để thực hiện test web site theo kịch bản .
a. giả lập nhiều user cùng truy cập vào website đồng thời.
chuột phải vào Test Plan –> Add –> Threads(users) –> Thread Group
Name : đặt tên cho ThreadGroup
Number of Threads(users) : số lượng người dùng mà ta muốn mô phỏng.
Ramp-up Period (in seconds): Chọn 0 để thực hiện người dùng thực hiện truy cập cùng lúc. (Đây là khoảng thời gian tạo số thread).
Loop Count Forever : 1 các thread được tạo sẽ thực hiện 1 lần( thay 1 bằng n thì số các thread sẽ lặp n lần).
b. Tạo request đến server
1 thread(tương ứng 1 user) có thể tạo nhiều request http gửi lên server .
Chuột phải vào Thread group –> add –> sample –> http request
Name : đặt tên request
Server name or Ip : điền địa chỉ trang web cần truy cập.
Nếu biết ip và cổng thì : điền ip vào Server Name or Ip và số cổng vào Port Number, đường dẫn đến website cần truy cập vào Path.
ví dụ
Truy cập vào trang http://dantri.com.vn chỉ cần điền
Server Name or Ip : dantri.com.vn
Truy cập vào trang http://127.0.0.1:100/website/login thì điền
Server Name or ip : 127.0.0.1
Port number : 100
Path : /website/login
Method : get hoặc post tùy vào request chúng ta tạo.
Với các method cần gửi các tham số lên server, bạn cần phải biết tất cả các tham số trong request đó và tất cả các tham số đó cần cho điền vào phần Paremeters (click add để thêm từng cặp tham số + giá tri.)
c. Trích thông tin của kết quả request này, để sử dụng cho các request trong tương lai.
chuột phải vào HTTP request –> add –> post processors –> xpath extractor
Reference Name : tên biến
Xpath query : truy vấn đến giá trị cần sử dụng của element
ví dụ :
Reference name : myViewState
Xpath query : //input[@id='j_id1:javax.faces.ViewState:0']/@value
Biến myViewState lưu giá trị của thẻ input có id = “j_id1:javax.faces.ViewState:0″.
Các request sau này muốn dùng giá trị của thẻ trên, lấy myViewState bằng cách gọi ${myViewState}
d. Test kết quả request
Muốn biết request có response như mong muốn không, cần thêm assertion cho request.
chuột phải http Request –> Add –> Assertions –> Response Assertion.
Phần Pattern Matching Rules : check contains để check xem response của request có chứa kết quả mong muốn không.
Phần Patter to Test : click nút Add, sau đó điền string cần check vào
Nếu kết quả response không chứa string cần check thì phần thống kê kết quả sẽ báo lỗi.
e. Quản lý cookie
Chuột phải vào Thread Group –> Add –> Config Element –> Http Cookie Manager
Cookie manager : sẽ lưu và gửi cookie như trình duyệt. Nếu bạn có 1 http request và response chứa cookie, Cookie manager sẽ tự động lưu cookie đó và sẽ gửi cookie đó cho tất cả các request sau đó đối với trang web đó.
f. Đồng bộ thời gian của các request.
Chuột phải vào thread group –> add –> timer –> Sunchronizing timer
Không cần chỉnh sửa, để mặc định các tham số.
Ví dụ : với kịch bản , có 10 người đồng thời login vào trang web cần test, sau khi login xong, 10 người này đồng thời thực hiện thao tác giống nhau click vào 1 button trong trang web. Bạn sẽ cần phải sử dụng Synchronizing Timer để thực hiện kịch bản này.
g. Xem kết quả của kịch bản test
- Xem kết quả tổng hợp của tất cả các thread
Chuột phải vào Thread Group –> Add -> Listener –> Summary Report
Bảng thống kê kết quả
Label : tên request
# Sample : số request
Average : thời gian trung bình xử lý các request
min : thời gian nhỏ nhất xử lý request
max : thời gian nhỏ nhất xử lý request
std Dev: độ lệch chuẩn của thời gian xủ lý các request
Error : phần trăm bị lỗi của các request(lỗi kết nối hoặc lỗi cho đầu ra không mong muốn)
thoughput : số request/s của server
avg.bytes : số bytes trung bình của response
kb/s = (avg.bytes*thoughput)/1024
- Xem kết quả của từng Request trong kịch bản
Chuột phải Thread Group –> Add –> Listener –> View Results Tree
Ví dụ : sau khi chạy chương trình, trong phần view results tree hiển thị thông tin các request và kết quả của chúng.
Các request xanh là request không lỗi, các request đỏ bị lỗi. Click vào mỗi request tương ứng bên cạnh sẽ có 3 phần thông tin về request đó : sample result, request, response data.
h. Chạy chương trình test
Sau khi thiết lập các request theo kịch bản, trên menu chọn run–>start.
Click vào View Results Tree hoặc Summary Report để xem kết quả.
Tham khảo thêm http://jmeter.apache.org/usermanual/component_reference.html
Similar topics
» Các lỗi thường gặp khi test website
» Một số lưu ý khi test web và test windows application
» Những kĩ năng để trở thành một Lập trình viên xuất sắc
» Hướng dẫn sử dụng Selenium IDE
» Blog: Chân dung một Tester
» Một số lưu ý khi test web và test windows application
» Những kĩ năng để trở thành một Lập trình viên xuất sắc
» Hướng dẫn sử dụng Selenium IDE
» Blog: Chân dung một Tester
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|