- vừa được xem lúc

Hướng dẫn kiểm thử hiệu năng website với Jmeter - Part 1

0 0 16

Người đăng: Poppin Khiem Mohamad

Theo Viblo Asia

KIỂM THỬ HIỆU NĂNG WEBSITE DÙNG JMETER PART 1

I. GIỚI THIỆU:

Chào các bạn, trải nghiệm người dùng khi vào 1 trang web bất kỳ lần đầu chính là ấn tượng đầu tiên của người dùng đối với nhà phát triển đó. Người dùng sẽ tự đặt câu hỏi xem website này load có nhanh không? Vào dùng có ngon không? Click các button thì phản hồi có mượt không?...Đặc biệt là những trang web đòi hỏi chịu tải nhiều với số lượng lớn request như website thương mại điện tử, hay là các trang web trường để đăng ký tín chỉ cho sinh viên. 😦

Bởi vậy, việc kiểm thử hiệu năng là một phần không thể thiếu của việc phát triển phần mềm ngày nay, nó sẽ quyết định đến danh tiếng của website đó. 😃 Vì tiếng lành đồn xa, hệ thống ngon thì sẽ truyền tai nhau sử dụng....

Ngày hôm nay, tôi sẽ giới thiệu cho các bạn các kiểm thử hiệu năng dùng Jmeter một cách cơ bản mà tôi đã dùng trong một số dự án liên quan đến hệ thống nhà hàng và hệ thống thương mại điện tử để những bạn mới tiếp cận cũng nắm được nhé!

II. ĐỊNH NGHĨA VÀ CÁCH DÙNG:

A. KHÁI QUÁT VỀ MỘT SỐ LOẠI PERFORMANCE TESTING

1. Load testing: Đánh giá ứng dụng, tìm ngưỡng của hệ thống có thể xử lý tốt (nhưng đừng nhầm lẫn là tìm ngưỡng mà hệ thống “sập”). Xác định được Maximum load là bao nhiêu.

2. Stress testing: Quá sức chịu đựng của hệ thống hay đánh giá ngoài khả năng chịu đựng. Tìm điểm chết của hệ thống, hệ thống có thể khả năng phục hồi lại không.

3. Spike testing: Thường áp dụng với hệ thống Thương mại điện tử. Đánh giá sự đột biến cao với khoảng thời gian ngắn thì hệ thống sẽ xử lý như nào.

B. ĐỊNH NGHĨA

JMeter là một ứng dụng Java desktop với giao diện đồ hoạ sử dụng Java Swing graphical API. JMeter có thể được sử dụng để kiểm tra hiệu suất của cả các tài nguyên tĩnh như JavaScript và HTML, cũng như các tài nguyên động, chẳng hạn như JSP, Servlets và AJAX.

JMeter là công cụ có thể test tải, test chức năng, test hồi quy... trên nhiều giao thức và các công nghệ khác nhau: Web: HTTP, HTTPS, Web service: SOAP, Database với JDBC drivers, File với FTP service, Mail với SMTP. JMeter lưu test plan của nó ở định dạng XML . Do đó cho có thể dùng text editor bất kỳ để generate test plan.

Ngoài Jmeter, có thể sử dụng Loadrunner cũng là tool phổ biến.

Lợi ích khi sử dụng Jmeter:

  • Open source/free
  • Support multi-protocol
  • Record & Playback – Record
  • Easy installation
  • Script Test: Jmeter can be integrated with Bean Shell & Selenium for automated testing
  • Multi Platform: Windows, Linux, Mac, v.v

C. CÁCH JMETER LÀM VIỆC

Meter mô phỏng một nhóm người dùng gửi yêu cầu đến server và trả về thông tin thống kê của server thông qua biểu đồ, bảng biểu các thứ rất hữu ích cho việc testing API của developers song song với Postman.

D. KHỞI TẠO & CÀI ĐẶT

  1. B1: Download file Apache Jmeter
  2. B2: Để chạy được Jmeter, bạn cần cài thêm JDK của Java
  3. B3: Chạy Jmeter: Jmeter.bat trong thư mục /bin

Cấu trúc thư mục:

 /bin: Chứa tập lệnh JMeter để khởi động JMeter /docs: Tệp tài liệu JMeter /extras: tập tin bổ sung liên quan đến kiến /lib/: Chứa thư viện Java cần thiết cho JMeter /lib/ext: chứa các tệp jar cốt lõi cho JMeter và các giao thức, hỗ trợ các plugin khác như Concurrency Thread /lib/junit: Thư viện Junit dùng cho JMeter /printable_docs: Chứa tài liệu đọc cho người dùng 

III. CÁC ELEMENT QUAN TRỌNG THƯỜNG DÙNG TRONG JMETER

Có vô vàn các element trong Jmeter với nhiều mục đích khác nhau, tuy nhiên trong bài viết này tôi sẽ giới thiệu giới hạn một số element thường dùng với level basic nhất.

Các JMeter Elements: Thread Group, Samplers, Listeners, Configuration

  • Thread Group

Thread Group là một tập hợp các Thread. Mỗi thread đại diện cho một người dùng sử dụng ứng dụng đang được thử nghiệm. Về cơ bản, mỗi Thread mô phỏng một yêu cầu thực của người dùng tới máy chủ. Mỗi thread sẽ bao gồm 1 hoặc nhiều request khác nhau

Ví dụ: Thread Group với giá trị "Number of Threads" là 50 được hiểu là giả lập 50 người dùng, mỗi người dùng tạo ra một request đến server.

  • Samplers

Như nghĩa đen của nó, Samplers là các mẫu thử, dùng để thử nghiệm các đối tượng là các kiểu request khác nhau tới đối tượng đích cần kiểm thử

  • Listeners:

Hiển thị kết quả của việc thực hiện kiểm thử. Họ có thể hiển thị kết quả ở một định dạng khác, chẳng hạn như tree, table, graph hoặc log file

Các listener thường dùng

  • Configuration Elements thường dùng

Dùng để thiết lập các input đầu vào, import file, set up các điều kiện khác...

  1. CSV Data Set Config: Giả sử bạn muốn kiểm tra một trang web cho 100 người dùng đăng nhập bằng các thông tin đăng nhập được tham số hóa với file csv
  2. HTTP Cookie Manager: Nếu bạn có Yêu cầu HTTP và phản hồi chứa cookie, trình quản lý cookie sẽ tự động lưu trữ cookie đó và sẽ sử dụng cookie đó cho tất cả các yêu cầu trong tương lai đối với trang web cụ thể đó.
  3. HTTP Header Manager: Set các trường cho Header.
  4. Login Config Element Cho phép bạn thêm hoặc ghi đè cài đặt tên người dùng và mật khẩu trong trình lấy mẫu.

Trên đây là những giới thiệu sơ bộ về những thành phần sẽ dùng trong việc kiểm thử hiệu năng cơ bản, ở phần 2 chúng ta sẽ đi tìm hiểu cách tạo testplan, chạy testplan và report báo cáo hiệu năng website bằng Jmeter nhé.

Author: Poppin Khiem Mohammad

Bình luận

Bài viết tương tự

- vừa được xem lúc

Một số lỗi thường gặp khi viết truy vấn trong laravel

Mở đầu:. Laravel là một framework khá phổ biến và rất mạnh mẽ. Nó sẽ hỗ trợ tận răng cho chúng ta các chức năng để xây dựng nên application cơ bản một cách rất linh động. orWhere:.

0 0 52

- vừa được xem lúc

Spark - Distributed ML model with Pandas UDFs

Hình ảnh mình mượn tại đây nhé Cat&Doc. Why.

0 0 33

- vừa được xem lúc

Tìm hiểu về Jmeter - phần 1

Kiểm thử hiệu năng là gì. Giả sử nếu một trang web có thời gian load chậm, phản hồi lâu sẽ làm có trải nghiệm người dùng không tốt và để đáp ứng được vấn đề đó đã có rất nhiều tool hỗ trợ để kiểm tra

0 0 112

- vừa được xem lúc

Bài 5. Jmeter làm việc với Postges

Bài này mình sẽ hướng dẫn các làm việc với Postgres sử dụng jmeter. Bước 1 => download file postgresql-42.5.1.

0 0 14

- vừa được xem lúc

Phần 6: Robot Framework ( Dictionary , Thư viện DateTime )

Đây là bài cuối của phần cơ bản Robot Framework , Mình sẽ giới thiệu nốt phần dictionary và 1 ít thư viện Datetime mà mình hay dùng ). Ngoài ra còn khá nhiều các thư viện khác có thể sử dụng liên quan

0 0 27