Cài đặt Apache JMeter trên Ubuntu:...13 CHƯƠNG 3: KIỂM THỬ HIỆU NĂNG BẰNG APACHE JMETER ..... Khái niệm Apache JMeter là ứng dụng viết trên mã nguồn mở open source,được viết 100% trên Ja
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN ĐÁNH GIÁ HIỆU NĂNG MẠNG
ĐỀ TÀI:
TÌM HIỂU APACHE JMETER
Trang 2MỤC LỤC
CHƯƠNG 1: TỔNG QUAN VỀ APACHE JMETER 3
1 Apache JMeter 3
1.1 Khái niệm 3
1.2 Những tính năng của Apache JMeter 3
1.3 Cách thức hoạt động 4
CHƯƠNG 2: CÀI ĐẶT APACHE JMETER 8
2 Cài đặt Apache JMeter 8
2.1 Cài đặt trên Window: 8
2.2 Cài đặt Apache JMeter trên Ubuntu: 13
CHƯƠNG 3: KIỂM THỬ HIỆU NĂNG BẰNG APACHE JMETER 14
Trang 3CHƯƠNG 1: TỔNG QUAN VỀ APACHE JMETER
1 Apache JMeter
1.1 Khái niệm
Apache JMeter là ứng dụng viết trên mã nguồn mở (open source),được viết 100% trên Java và là ứng dụng dành cho việc test tải (load test)tốc độ thực thi của ứng dụng web Ban đầu nó được thiết kế để đơn thuầnkiểm tra cho ứng dụng web, sau đã được mở rộng ra nhiều chức năngkhác
Apache JMeter là công cụ để đo độ tải và hiệu suất của đối tượng,
có thể sử dụng để kiểm tra hiệu suất trên cả nguồn tĩnh và nguồn động,
có thể kiểm tra độ tải và hiệu năng trên nhiều loại server khác nhau như:Web – HTTP, HTTPS, SOAP, Database via JDBC, LDAP, JMS, Mail –SMTP(S), POP3(S) và IMAP(S)…
1.2.Những tính năng của Apache JMeter
Khả năng kiểm thử tải và performance nhiều ứng dụng/ máy chủ/loại giao thức khác nhau:
o Web – HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
o SOAP / REST Webservices
o FTP
o Database via JDBC
o LDAP
o Message-oriented middleware (MOM) via JMS
o Mail – SMTP(S), POP3(S) and IMAP(S)
o Native commands or shell scripts
o TCP
o Các đối tượng Java
Đầy đủ các tính năng test IDE, cho phép ghi lại các test plan mộtcách nhanh chóng (từ trình duyệt hoặc các ứng dụng )
Trang 4 Chế độ dòng lệnh (Command-line) để kiểm tra độ tải từ các hệđiều hành tương thích với Java (Linux, Window, Mac …)
Đưa ra báo cáo và trình bày HTML động
Dễ dàng tương tác thông qua khả năng trích xuất dữ liệu từ cácđịnh dạng phản hồi phổ biến như HTML, JSO, XML…
Do viết bằng Java nên nó có tính đa nền tảng (Kiểm thử trên nềntảng nào cũng được)
Cho phép mô phỏng đồng thời nhiều thread
Bộ nhớ đệm và cho phép phân tích, tái hiện kết quả test một cáchoffiline
Phần lõi có khả năng mở rộng cao
1.3 Cách thức hoạt động
Apache JMeter thực hiện mô phỏng một lượng người dùng ảo,request lớn trên một máy chủ, nhóm máy chủ, mạng hoặc đối tượng đểkiểm tra về độ tải của nó hoặc để phân tích thời gian phản hồi tổng thểdưới các loại tải khác nhau Sau đó cung cấp các kết quả báo cáo hiệusuất dưới dạng biểu đồ trực quan, dễ hiểu
Hình 1.1 Apache JMeter
JMeter Performance Testing bao gồm:
Trang 5 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
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ì webserver bắt đầu phản hồi chậm và gây ra lỗi Mục đích củastress testing là có thể tìm ra độ tải lớn mà web server cóthể xử lý
1.4 Ưu – Nhược điểm của Apache JMeter
Ưu điểm:
Hình 1.2 Ưu điểm của Apache JMeter
Trang 6 Là công cụ mã nguồn mở (Open Source): JMeter hoàn toànmiễn phí, cho phép developer sử dụng mã nguồn.
Giao diện thân thiện (Friendly GUI): JMeter cực kỳ dễ sửdụng và không mất thời gian để làm quen
Nền tảng độc lập (Platform independent): JMeter là ứng dụngDesktop Java thuần túy 100% Vì vậy, JMeter có thể chạytrên nhiều nền tảng
Đa luồng (Full multithreading framework): JMeter cho môphỏng đồng thời và cùng thời điểm nhiều sampler với cácchức năng khác nhau trên các thread group khác nhau
Hiển thị kết quả kiểm thử (Visualize Test Result): Kết quảkiểm thử có thể được hiển thị ở định dạng khác như biểu đồ,bảng, tree và file log
Cài đặt dễ dàng (Easy installation): Chỉ cần copy và chạy tậptin * bat để khởi động JMeter, không cần cài đặt
Khả năng mở rộng cao (Highly Extensible): Tester có thể viếtcác kịch bản kiểm thử của riêng mình JMeter cũng hỗ trợcác plugin trực quan
Nhiều chiến lược kiểm thử (Multiple testing strategy): JMeter
hỗ trợ nhiều chiến lược kiểm thử như Load Testing,Distributed Testing, và Functional Testing
Mô phỏng (Simulation): JMeter có thể mô phỏng nhiềungười dùng với các threads đồng thời, tạo tải nặng đối vớiứng dụng web đang được kiểm thử
Hỗ trợ đa giao thức (Support multi-protocol): JMeter khôngchỉ hỗ trợ kiểm thử ứng dụng web mà còn đánh giá hiệu năngmáy chủ cơ sở dữ liệu Tất cả các giao thức cơ bản nhưHTTP, JDBC, LDAP, SOAP, JMS và FTP đều được JMeter
hỗ trợ
Record & Playback: Ghi lại hoạt động của người dùng trêntrình duyệt và mô phỏng chúng trong một ứng dụng web sửdụng JMeter
Trang 7 Kịch bản test (Script Test): Jmeter có thể được tích hợp vớiBean Shell & Selenium để kiểm thử tự động.
Nhược điểm:
Tiêu thụ bộ nhớ (Memory Consumption): JMeter có thể mô
phỏng tải trọng và hình dung báo cáo kiểm tra Điều này có thểtiêu tốn nhiều bộ nhớ và có thể dẫn ra khỏi bộ nhớ dưới tảinặng
Chỉ chạy trên ứng dụng Web (Web application only): JMeter
là công cụ tốt để thử nghiệm ứng dụng web nhưng nó khôngphải là một công cụ phù hợp để thử nghiệm ứng dụng trên máytính để bàn
Thiếu hỗ trợ cho JavaScript (Lack of support for JavaScript): JMeter không phải là trình duyệt nên không thể
chạy JavaScript trong ứng dụng web Nó có hỗ trợ hạn chế để
xử lý JavaScript hoặc Ajax, điều này có thể ảnh hưởng đến độchính xác của mô phỏng
Trang 8CHƯƠNG 2: CÀI ĐẶT APACHE JMETER
2 Cài đặt Apache JMeter
2.1 Cài đặt trên Window:
Apache JMeter viết bằng Java nên muốn chạy JMeter trước hếtmáy phải cài JRE hoặc JDK
Cài đặt JRE:
Đầu tiên là vào trang chủ của oracle để tải JRE:
https://www.oracle.com/technetwork/java/javase/downloads/index.html
Hình 2.1 Giao diện trang web tải JRE
Sau đó chọn phiên bản phù hợp và cài đặt:
Trang 9Hình 2.2 Chọn phiện bản cài đặt
Thiết lập biến môi trường và cấu hình cho Java:
Truy cập theo đường dẫn: bấm chuột phải vào biểu tượng
Trang 10Hình 2.3 Thiết lập biến môi trường cho Java
Tiếp theo, cũng trong phần System variables, chúng ta tiến hành sửa đổi biến môi trường Path như sau: Kích chuột vào dòng Path và chọn Edit Hộp thoại Edit environment variable xuất hiện, chúng ta nhấn chuột vào nút New và điền vào dòng sau: %JAVA_HOME%\bin, nhấn OK để kết thúc.
Trang 11Hình 2.4 Thiết lập biến môi trường
Kiểm tra kết quả:
Hình 2.5 Kiểm tra phiên bản Java
Trang 12Cài Apache JMeter:
Hình 2.6 Trang tải Jmeter
Giải nén file zip vừa tải về sau đó click vào file ApacheJMeter.jar
Hình 2.7 Thư mục chứa file
Giao diện chương trình:
Trang 13Hình 2.8 Giao diện chương trình
2.2 Cài đặt Apache JMeter trên Ubuntu:
Bước 1: Cập nhật: sudo-get update
Bước 2: Tải Java cho JMeter: sudo apt-get install headless
openjdk-7-jre-Bước 3: Kiểm tra phiên bản java: java –version
Bước 4: Tải JMeter với câu lệnh:
wget-c http://ftp.ps.pl/pub/apache//jmeter/binaries/apache-jmeter-5.1.tgzBước 5: Đến thư mục tải về: cd Download/
Bước 6: Giải nén JMeter: tar –xf apache-jmeter-5.1.tgz
Bước 7: Vào thư mục JMeter: cd apache-jmeter-5.1/
Bước 8: chạy: /bin/jmeter
CHƯƠNG 3: KIỂM THỬ HIỆU NĂNG BẰNG APACHE JMETER
Trang 14Để minh họa cho kế hoạch kiểm thử hiệu năng, nhóm sẽ thực hiệnphân tích hiệu suất của máy chủ website https://dantri.com.vn/ xem máychủ có thể xử lý bao nhiêu yêu cầu mỗi phút?
Thêm Thread Group
Click chuột phải vào Test Plan >> Add >> Threads (Users)
>> Thread Group
Hình 3.1 Tạo thread group
Trên cửa sổ Thread Group ta thực hiện nhập Threadproperties như sau:
o Number of Threads - Số lượng người sử dụng truycập vào website: 100
o Ramp-Up Period: 100
o Loop Count - Số thời gian thực hiện kiểm tra: 5
Ramp-Up cùng với Number of Threads sẽ chỉ ra được thời gian
trì hoãn trước khi một người dùng tiếp theo bắt đầu sử dụng Ví dụ: Nếuchúng ta có 100 người dùng và Ram-up 100 giây thì sự chậm trễ giữanhững người dùng sẽ là 1 giây
Trang 15Hình 3.2 Nhập thông số cho thread
Thêm phần tử JMeter
HTTP request default
Click chuột phải vào Thread Group Test >> Add >> Config Element
>> HTTP Request Defaults
Trang 16Hình 3.3 Thêm phần tử cho JMeter
Trên cửa sổ HTTP Request Defaults ta nhập tên website:
Hình 3.4 Nhập website
HTTP Request
Click chuột phải vào Thread Group Test >> Add >> Sampler >> HTTP Request
Trang 17 Hiển thị kết quả dưới dạng biểu đồ
Click chuột phải vào Thread Group Test >> Add >> Listener
>> Graph Results
Trang 18Hình 3.6 Thêm biểu đồ kết quả
Chạy và lấy kết quả
Trang 19Kết quả được hiển thị trên Graph với thời gian thực tế:
Trang 20 Throughput là thông số quan trọng nhất, nó miêu tả cho khả năng
server có thể xử lý được độ tải lớn
o Trong kết quả test thông số Throughput của máy chủ
dantri.com là 301.741/phút Tức là, máy chủ dantri.com.vn
có thể xử lý 301.741 yêu cầu trên mỗi phút
Deviation thể hiện sự sai lệch hiện tại so với mức trung bình, thông
số này càng nhỏ thì càng tốt
Trang 21Tài liệu tham khảo
- hieu-nang-bang-jmeter-vyDZOorPZwj
https://viblo.asia/p/performance-testing-using-jmeter-kiem-thu hieu-nang-bang-jmeter-vyDZOorPZwj
https://viblo.asia/p/performance-testing-using-jmeter-kiem-thu https://freetuts.net/download-va-cai-dat-apache-jmeter-1506.html