đánh-giá-hiệu-năng-mạng.docx

  • Uploaded by: dat
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View đánh-giá-hiệu-năng-mạng.docx as PDF for free.

More details

  • Words: 1,959
  • Pages: 21
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

Sinh viên

:

Lã Vũ Hoàng Anh Nguyễn Văn Đạt Dương Thế Chung Phạm Hồng Quân Nguyễn Văn Đoản 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 4

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

8

Sau đó chọn phiên bản phù hợp và cài đặt:

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 12

 Giao diện chương trình:

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

13

CHƯƠNG 3: KIỂM THỬ HIỆU NĂNG BẰNG APACHE JMETER Để 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 14

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.

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

16

 HTTP Request Click chuột phải vào Thread Group Test >> Add >> Sampler >> HTTP Request

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ả

18

 Chạy và lấy kết quả 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

More Documents from "dat"