Jmeter là gì? Quy trình kiểm thử hiệu năng sử dụng Jmeter

Hoa Nhài

Bất cứ trang web nào cũng cần phải kiểm soát việc xử lý các giao dịch hay lượt truy cập vào hệ thống. Công cụ hoàn hảo giúp các trang web giải quyết triệt để vấn đề này đó chính là Jmeter. Vậy Jmeter là gì? Lý do nên sử dụng phần mềm này và cách thức hoạt động cùng ưu nhược điểm của nó ra sao? Hãy đi tìm lời giải đáp cùng Testerpro.vn cho những câu hỏi này trong bài viết dưới đây.

Jmeter là gì

Jmeter là gì?

  • Jmeter được sáng lập bởi Stefano Mazzocchi, sau đó được cải tiến và hoàn thiện như hiện tại bởi Apache. Đây là một trong những công cụ để đo tải và performance của đối tượng. Jmeter là phần mềm mã nguồn mở được viết bằng Java sử dụng để test performance trên cả nguồn tĩnh và nguồn động.
  • Là công cụ được sử dụng để kiểm tra độ tải và hiệu năng trên nhiều loại loại server khác nhau: Web – HTTP, HTTPS, SOAP, Database via JDBC, LDAP, JMS, Mail – SMTP(S), POP3(S) và IMAP(S),… Hiện nay thì Jmeter đã trở thành công cụ thử nghiệm phổ biến nhất trên toàn cầu ngoài Selenium và Load Runner.
Jmeter là gì

Tại sao nên sử dụng Jmeter?

  • Nếu bạn phải kiểm thử một web server để biết hiệu quả hoạt động của Website thì bạn sẽ thực hiện như thế nào? Làm sao để thống kê được số người dùng truy cập vào máy chủ web trong cùng một thời điểm. Giả sử bạn phải tiến hành performance testing cho trang www.google.com khi có 100 người dùng cùng truy cập thì bạn sẽ thực hiện ra sao?
  • Quá trình này sẽ diễn ra rất khó khăn thậm chí là không thể tiến hành được nếu không có sự xuất hiện của phần mềm Jmeter. Công cụ này được sử dụng để mô phỏng hành vi của người dùng thực tế để tiến hành performance testing và load testing trên Website.
tại sao nên sử dụng Jmeter

Jmeter hoạt động như thế nào?

Jmeter sẽ tiến hành giả lập một nhóm người dùng gửi các yêu cầu tới máy chủ, nhân và xử lý các phản hồi từ máy chủ. Từ đó đưa ra các kết quả báo cáo hiệu suất được thể hiện dưới dạng biểu đồ trực quan và dễ hiểu nhất. Khi đó JMeter Performance Testing sẽ gồm có:

  • Load testing: Là mô hình hóa dự kiến sử dụng khi nhiều người dùng cùng truy cập vào một dịch vụ website trong cùng lúc.
  • Stress testing: Khi toàn bộ các web Server tải một dung lượng lớn và 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à xuất hiện lỗi. Lúc này Stress testing sẽ giúp tìm ra độ tải lớn mà web server có thể xử lý.
cách thức hoạt động của Jmeter là gì

Ưu, nhược điểm của Jmeter

Ưu điểm

  • Là công cụ mã nguồn mở và việc sử dụng Jmeter là hoàn toàn miễn phí. Nó cho phép các developer có thể sử dụng mã nguồn.
  • Sở hữu giao diện thân thiện nên Jmeter cực kỳ dễ sử dụng và sẽ không mất nhiều thời gian để nghiên cứu và dùng. Chỉ cần tải phần mềm về, cài đặt và chạy như mộ ứng dụng Java bình thường.
  • Vì JMeter là ứng dụng Desktop Java chuẩn 100% nên nó có thể chạy trên nhiều nền tảng, hệ điều hành: Window, Linux hoặc Mac.
  • Tính đa luồng: Jmeter có khả năng mô phỏng đồng thời và cùng thời điểm nhiều sampler với nhiều chức năng khác nhau trên các thread group.
  • Kết quả kiểm thử được thể hiện trực quan ở nhiều định dạng khác nhau: biểu đồ, bảng, tree và file log.
  • Việc cài đặt không hề khó khăn khi bạn chỉ cần sao chép và chạy file .bat để khởi động Jmeter.
  • Có khả năng mở rộng cao khi bạn có thể tạo các kịch bản kiểm thử của riêng mình. Tuy nhiên Jmeter cũng hỗ trợ nhiều plugin trực quan.
  • Phần mềm hỗ trợ nhiều chiến lược kiểm thử độc đáo: Load Testing, Distributed Testing, và Functional Testing.
  • Jmeter có thể mô phỏng nhiều người dùng với các threads cùng thời điểm. Đồng thời tạo ra tải nặng đối với ứng dụng đang được kiểm thử.
  • Ngoài việc hỗ trợ kiểm thử ứng dụng web thì Jmeter còn có khả năng đánh giá hiệu năng máy chủ cơ sở dữ liệu. Bên cạnh đó thì phần mềm cũng hỗ trợ nhiều giao thức cần thiết: HTTP, JDBC, LDAP, SOAP, JMS và FTP.
  • Tính năng Record & Playback trên Jmeter có khả năng 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.
  • Jmeter được tích hợp với Bean Shell & Selenium giúp quá trình Script Test diễn ra tự động và dễ dàng.
ưu điểm của Jmeter

Nhược điểm

  • Tiêu thụ nhiều bộ nhớ: Jmeter có thể mô phỏng tải nặng và trực quan hóa báo cáo thử nghiệm. Từ đó dẫn đến tiêu tốn nhiều bộ nhớ và có thể dẫn ra khỏi bộ nhớ dưới phải tải nặng.
  • Chỉ áp dụng cho ứng dụng web: Jmeter được biết đến là công cụ tốt nhất để thử nghiệm web nhưng nó không thích hợp để thử nghiệm ứng dụng máy tính để bàn.
  • Vì Jmeter không phải là một trình duyệt nên nó sẽ 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 sẽ ảnh hưởng đến độ chính xác của mô phỏng.

Hướng dẫn sử dụng Jmeter thực hiện kiểm thử hiệu năng

Cách cài đặt Jmeter

Bước 1: Bạn truy cập vào đường link: https://jmeter.apache.org/download_jmeter.cgi để Download phần mềm Apache Jmeter phiên bản mới nhất.

Bước 2: Để khởi chạy được Jmeter thì bạn cần cài JDK của Java nữa bằng cách nhấn vào link: https://www.oracle.com/java/technologies/downloads/#jdk19-windows

Bước 3: Tiếp đó bạn nhấn vào link tải tại dòng x64 Installer. Khi file đã tải được về máy tính thành công thì bạn tiến hành khởi chạy JDK.

cách cài đặt phần mềm Jmeter

Bước 4: Khi đã download Jmeter thành công thì bạn tiến hành giải nén và chạy file .jar trong thư mục của máy tính.

Cài đặt và khởi chạy phần mềm Jmeter

Quy trình thực hiện kiểm thử hiệu năng sử dụng Jmeter

Trước khi bắt tay vào quá trình kiểm thử hiệu năng nghiêm chỉnh thì bạn cần phải hiểu rõ ý nghĩa của các thành phần trong Jmeter. Các thành phần bạn cần tìm hiểu đó là: Thread Group, Controller (Sampler Controller & Logic Controller), Configuration Element, Listener, Timer. Đồng thời bạn cần phải xác định các yếu tố sau trước khi kiểm thử hiệu năng gồm:

  • Normal Load: Số người dùng trung bình truy cập trang web
  • Heavy Load: Số lượng người dùng tối đa truy cập trang web.
  • Mục tiêu của bạn trong kiểm thử này là gì?

Quy trình thực hiện kiểm thử hiệu năng dùng Jmeter gồm các bước sau:

Quy trình thực hiện kiểm thử hiệu năng sử dụng Jmeter

Bước 1: Add Thread Group

Trước tiên bạn cần khởi động Jmeter => Click chuột phải chọn vào “Test Plan” và thêm thread group mới: Add => Threads (Users) => Thread Group. Ở cửa sổ Thread Group thì bạn tiến hành nhập Thread properties gồm:

Add Thread Group
  • Number of Threads: Mỗi Thread đại diện cho một người dùng ảo, Jmeter cho phép thay đổi số lượng người dùng không hạn chế để thực hiện các thử nhiệm.
  • Ramp-Up Period: Thời gian để bắt đầu tất cả những Thread.
  • Loop Count: Số lần lặp lại những yêu cầu của người dùng. Ngoài ra còn có các tùy chọn: chạy các Thread vào lịch biểu định sẵn, xác định hành động sẽ thực hiện khi xảy ra lỗi,…
Jmeter là gì

Trong đó Ramp-Up và Number of Threads thể hiện thời gian trì hoãn trước khi một người dùng tiếp theo bắt đầu sử dụng.

Bước 2: Add JMeter elements

Bạn nhấp chuột phải chọn vào Thread Group => Chọn vào Add => Chọn vào Config Element => Chọn tiếp HTTP Request Defaults. Khi cửa sổ HTTP Request Defaults thì bạn nhập tên Website vào.

Add JMeter elements

Để xuất hiện HTTP Request thì bạn click chuột phải chọn vào Thread Group tiếp đó chọn vào Add => Chọn Sampler => Chọn tiếp HTTP Request. Ở HTTP Request, trường Path cho biết yêu cầu URL nào bạn muốn gửi đến máy chủ Google.

Jmeter là gì

Jmeter sẽ tạo yêu cầu URL http://www.google.com/calendar đến máy chủ Google khi bạn điền “calendar” ở trường Path.

Jmeter là gì

Bước 3: Add Graph result

Tại bước này thì bạn click chuột phải chọn vào Test Plan. Kế tiếp chọn vào Add => Chọn Listener => Chọn vào Graph Results. Kết quả này sẽ hiển thị dưới dạng biểu đồ.

Add Graph result

Bước 4: Run Test và xem kết quả

Sau khi đã chuẩn bị xong thì bạn nhấn nút Run (Ctrl + R) trên Toolbar để bắt đầu quá trình chạy kiểm thử hiệu năng. Ở đây bạn sẽ nhìn thấy kết quả kiểm thử xuất hiện trên Graph. Ở phần dưới cùng của phần biểu đồ kết quả thử nghiệm thì bạn sẽ thấy có các số liệu thống kê được thể hiện qua các màu sắc:

Run Test và xem kết quả
  • Màu đen: biểu thị tổng số Sample hiện tại được gửi.
  • Màu xanh dương: thể hiện trung bình hiện tại của tất cả các Sample được gửi.
  • Màu đỏ: thể hiện độ lệch chuẩn hiện tại.
  • Màu xanh lá cây: là tỷ lệ throughput đại diện cho số lượng yêu cầu trên mỗi phút mà máy chủ xử lý.

Bước 5: Phân tích kết quả

Khi phân tích Performance của Web server bạn cần chú ý đến 2 thông số gồm: Throughput Deviation. Trong đó Throughput là thông số quan trọng nhất và nó đại diện cho khả năng của máy chủ khi xử lý một tải nặng. Nếu Throughput càng cao thì hiệu suất máy chủ càng tốt. Còn Deviation được biểu thị bằng màu đó thể hiện độ lệch so với mức trung bình. Thông số này càng nhỏ càng tốt.

Phân tích kết quả Performance của Web server

Đến đây thì bạn đọc đã hiểu rõ hơn về Jmeter là gì cùng quy trình thực hiện kiểm thử hiệu năng với Jmeter. Mong rằng những thông tin này sẽ thật sự hữu ích và mang đến cho bạn nhiều hiểu biết về ngành nghề đã chọn. Nếu có bất cứ thắc mắc gì cần giải đáp thì bạn hãy để lại bình luận ở phía dưới.

5/5 - (2 votes)
Từ khóa:
Bình luận
Icon Phone Icon Zalo