1. Phòng PTCN
Tìm hi u v tool testể ềTìm hi u v tool testể ề
performance
JmeterJmeter
Hà nội, 10/2018
2. Nội dung
1. Tổng quan về Performance test
2. Giới thiệu về JMeter
3. Xây dựng kế hoạch test trong JMeter
4. Demo một số testcase
5. Tài liệu
3. Nội dung
1. Tổng quan Performance test
- Đối với một trang Web hay ứng dụng bất kỳ, bên cạnh việc đảm bảo các chức
năng phải hoạt động đúng, không có lỗi thì một số vấn đề khác đặt ra khi bạn
muốn release ứng dụng đó cho người dùng như sau:
• Thời gian đáp ứng có t t không?ố
• Tỷ lệ lỗi ra sao?
• Lưu lượng dữ liệu bao nhiêu?
• Số yêu cầu trên 1 giây bao nhiêu?
• Số người dùng đồng thời bao nhiêu?
• Tài nguyên máy: cpu, ram, network thế nào?
- Các công cụ test sử dụng trong slide:
• Open Source JMeter
4. Nội dung
2. Giới thiệu về Jmeter
– JMeter là công cụ hỗ trợ test performance hoàn toàn miễn phí (open source).
Được phát triển trên n nề Java và đ c ng d ng r ng rãi trong c ng đ ng testerượ ứ ụ ộ ộ ồ .
– Cách thực hiện là JMeter sẽ tạo ra nhiều người dùng ảo, để thực hiện các nghiệp
vụ trên ứng dụng. Sau đó tổng hợp các kết quả dưới dạng biểu đồ, để người test
đưa ra các đánh giá cuối cùng.
5. Nội dung
• Phạm vi ứng dụng của Jmeter
– JMeter được support trên mọi hệ điều hành.
– JMeter hỗ trợ nhiều giao thức: Web - HTTP, HTTPS, SOAP, Database - JDBC,
LDAP, FTP, Mail - POP3, TCP, …
• Đặc trưng của JMeter
– Sử dụng để kiểm thử hiệu suất cả về tài nguyên tĩnh và tài nguyên động như các
tập tin tĩnh, Website, Web Api, Game Server, CGI script, đối tượng của ngôn ngữ
Java, CSDL, FTP Server,....JMeter cung cấp 1 giao diện người dùng thân thiện dễ
sử dụng.
• JMeter Performance Testing bao gồm:
– Load testing: Mô hình hóa dự kiến sử dụng bởi nhiều người dùng truy cập một
dịch vụ website trong cùng thời điểm. (t o nhi u user o truy c p 1 lúc, đ m b o hạ ề ả ậ ả ả ệ
th ng v n đáp ng đ c)ố ẫ ứ ượ
– Stress testing: Tất cả các web server có thể tải một dung lượng lớn, khi mà tải
trọng vượt ra ngoài giới hạn thì web server bắt đầu phản hồi chậm và gây ra lỗi.
Mục đích của stress testing là có thể tìm ra độ tải lớn mà web server có thể xử lý.
(tăng d n s ng i truy c p cho đ n khi h th ng quá t i ng ng ho t đ ng)ầ ố ườ ậ ế ệ ố ả ư ạ ộ
6. Nội dung
3. Xây dựng kế hoạch performace test trong JMeter
– Trước khi thực hiện kiểm thử hiệu năng cho bất kỳ 1 hệ thống nào, bạn cũng cần
phải xác định được Mục tiêu của việc kiểm thử này là gì? Ví d : ki m tra kh năngụ ể ả
đáp ng c a server, ki m tra t l l i có kh năng x y ra, …ứ ủ ể ỷ ệ ỗ ả ả
– Để minh họa cho một kế hoạch kiểm thử hiệu năng, tôi thực hiện phân tích hiệu
suất của máy chủ Scoin.vn (http://scoin.vn/): Đ xemể Máy chủ scoin có thể đáp ngứ
đ c yêu c u khi đ a vào ch y th c t khôngượ ầ ư ạ ự ế ?
– Các bước thực hiện bao gồm:
+ Thêm Thread Group
+ Thêm Http request (Jmeter elements)
+ Thêm Graph result
+ Chạy và lấy kết quả
+ Phân tích kết quả
7. Nội dung
• Thêm Thread Group
– Click chuột phải vào TestPlan>>Add>>Threads (Users)>>Thread Group.
– Trên cửa sổ Thread Group ta thực hiện nhập Thread properties như sau:
+ Number of Threads - Số lượng người sử dụng truy cập vào website: 500
+ Ramp-Up Period – Thời gian hoàn thành quá trình kiểm thử: 500 (nếu đặt 0 thì số
user trên sẽ truy cập cùng 1 lúc)
+ Loop Count - Số lần thực hiện kiểm tra (lặp lại với mỗi người sử dụng): Forerver (đặt
1 thì chạy 1 lần)
8. Nội dung
• Thêm HTTP request default
– Click chuột phải vào Thread Scoin_Test>>Add>>Config Element>>HTTP Request
Defaults
– Trên cửa sổ HTTP Request Defaults ta nhập tên Website vào m c Server Name Orụ
IP. Tr ng h p website ch y https thì nh p vào m c Protocal (http) là https, n u ch yườ ợ ạ ậ ụ ế ạ
http thì đ r ng.ể ỗ
9. Nội dung
• Thêm HTTP request 1
– Http request này thực hiện chức năng khởi tạo phiên làm việc.
– Click chuột phải vào Thread Scoin_Test >>Add>>Sampler>>HTTP Request
– Trên cửa sổ HTTP Request, nh p các thông tin nh hình mô tậ ư ả:
12. Nội dung
• Test api:
- Thêm mới dữ liệu điền như bên dưới. Tài khoản là 1 tài khoản đăng nhập được
web hogodoc.com: hoa.nang.4444@gmail.com / pass là 123456 (phải nhập dưới
dạng code)
13. Nội dung
• Thêm View Results Tree:
- Control này cho phép chúng ta xem được thứ tự các Http Request được thực hiện
và kết quả của từng Http Request. Màn hình này khá trực quan và biết ngay được
kết quả. Màn hình 1 hiển thị ok khi nhập email và pass đúng. Màn hình 2 là kết quả
khi nhập data sai
14.
15. Nội dung
• View Results in Table v i tr ng h p test performanceớ ườ ợ :
- Hiển thị kết quả gồm gồm các truy cập thành công và thất bại
16. Nội dung
• Ch y và phân tích k t quạ ế ả test:
- Chọn control View Results in Table để tiếp tục xem kết quả test. Từ màn hình
(dưới) chúng ta đưa ra một số kết luận:
+ 4 user: Thời gian 5852ms, trạng thái OK
17. 4. Demo 1 số test case
-VD:
Case 1: 500 người truy cập trong 60s. Thời gian phản hồi của website là 3s
Case 2: Mỗi giây đáp ứng 100 truy cập
18. Case 1: 500 người truy cập trong 60s. Thời gian phản hồi của website là 3s
Thiết lập Thread:
19. Chạy kết quả
Thời gian phản hồi trung bình là 1282 mili gây tương ứng 1,2 giây
Vậy website đạt test case 1
20. Case 2: 100 người truy cập trong 1s.
Thiết lập Thread:
22. Nội dung
Kết luận ưu nhược điểm
- Đối với Jmeter:
+ Ưu điểm: dễ sử dụng, biểu đồ trực quan, nhiều công cụ, test được nhiều loại ứng
dụng, chạy trên nhiều HĐH, ..
+ Nhược điểm: đối với các api có đầu vào phức tạp cần phải bổ sung code nên gây
khó khăn cho tester.