Tải bản đầy đủ

TÌM HIỂU APACHE JMETER

TRƯỜ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

Giảng viên

:

Ngô Hải Anh

1


MỤ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

2


CHƯƠ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ần
kiểm tra cho ứng dụng web, sau đã được mở rộng ra nhiều chức năng
khá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ột
cách nhanh chóng (từ trình duyệt hoặc các ứng dụng ).
3


 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ền
tả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ách
offiline
 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ệu
suấ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:
4


 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ì 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ý.
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
5


 Là công cụ mã nguồn mở (Open Source): JMeter hoàn toàn
miễ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ụng
Desktop Java thuần túy 100%. Vì vậy, JMeter có thể chạy
trê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ác
chứ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ập
tin * .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ết
cá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ều
ngườ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ông
chỉ hỗ trợ kiểm thử ứng dụng web mà còn đánh giá hiệu năng
má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ên
trình duyệt và mô phỏng chúng trong một ứng dụng web sử
dụng JMeter.
6


 Kịch bản test (Script Test): Jmeter có thể được tích hợp với
Bean 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ải
nặ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ông
phải là một công cụ phù hợp để thử nghiệm ứng dụng trên máy
tí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.

7


CHƯƠ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ết
má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:
8


Hì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
ThisPC>>Properties>>Advancedsystemsettings>>
Environment Variables
 Trong hộp thoại Environment Variables, chúng ta vào phần System
variables và chọn New:
 Trong hộp thoại New System Variable, chúng ta điền vào ô Variable
name là JAVA_HOME, còn trong ô Variable value chúng ta nhấn
vào nút Browser Directory và trỏ tới đường dẫn cài đặt thư mục
JRE. Nhấn OK để hoàn tất việc đặt tên biến môi trường.

9


Hì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.

10


Hì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
11


Cà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:
12


Hì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 openjdk-7-jreheadless
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.tgz

Bướ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
13


Để minh họa cho kế hoạch kiểm thử hiệu năng, nhóm sẽ thực hiện
phân tích hiệu suất của máy chủ website https://dantri.com.vn/ xem máy
chủ 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 Thread
properties như sau:
o Number of Threads - Số lượng người sử dụng truy
cậ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ếu
chúng ta có 100 người dùng và Ram-up 100 giây thì sự chậm trễ giữa
những người dùng sẽ là 1 giây.
14


Hì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

15


Hì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

16


Hình 3.5. Thêm phần tử HTTP Request
 Trên cửa sổ HTTP Request, trường Path sẽ chỉ ra URL request nào bạn
muốn gửi tới máy chủ:
o Nếu để trống JMeter sẽ tạo URL request https://dantri.com.vn/
tới máy chủ
o Nếu muốn tạo URL request https://dantri.com.vn/xa-hoi/moitruong thì nhập: xa-hoi/moi-truong/
 Graph result
 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

17


Hình 3.6. Thêm biểu đồ kết quả

 Chạy và lấy kết quả
18


Kết quả được hiển thị trên Graph với thời gian thực tế:

Hình 3.7. Biểu đồ kết quả
 Phân tích kết quả:
Để phân tích hiệu suất của web server, ta tập trung vào hai thông
số: Throughput và Deviation.

Hình 3.8. Thông số Throughput và Deviation trong biểu đồ kết quả
19


 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.

20


Tài liệu tham khảo
- https://viblo.asia/p/performance-testing-using-jmeter-kiem-thuhieu-nang-bang-jmeter-vyDZOorPZwj
- https://viblo.asia/p/performance-testing-using-jmeter-kiem-thuhieu-nang-bang-jmeter-vyDZOorPZwj
- https://freetuts.net/download-va-cai-dat-apache-jmeter-1506.html

21



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×

×