Get in touch
or send us a question?
CONTACT

Kiểm tra thời gian phản hồi – Cách đo với API

Kiểm tra thời gian phản hồi (Response Time Testing) là gì?

Kiểm tra thời gian phản hồi đo thời gian cần thiết để một nút hệ thống đáp ứng yêu cầu của nút khác. Đó là thời gian hệ thống cần để đạt được đầu vào cụ thể cho đến khi quá trình kết thúc. 

Ví dụ: bạn có API và bạn muốn biết chính xác cần bao nhiêu thời gian để thực thi nó và trả về dữ liệu dưới dạng JSON. Thời gian phản hồi đo lường phản hồi của máy chủ đối với mỗi giao dịch hoặc truy vấn.

Thời gian phản hồi bắt đầu khi người dùng gửi yêu cầu và kết thúc vào thời điểm ứng dụng thông báo rằng yêu cầu đã hoàn thành.

Làm thế nào để đo thời gian phản hồi?

Để Đo Thời gian Phản hồi , chúng ta có thể sử dụng các công cụ kiểm tra bằng cách bao quanh một quy trình nghiệp vụ quan trọng bằng các giao dịch Bắt đầu và Kết thúc. Quy trình nghiệp vụ có thể là một hành động hoặc một tập hợp các hành động mà người dùng thực hiện trong ứng dụng để hoàn thành tác vụ nghiệp vụ như đăng nhập vào ứng dụng hoặc mua hàng.

Đối với cùng một quy trình Đo thời gian phản hồi cho một API, phản hồi sẽ hơi khác nhau tùy theo công cụ. Đây là lý do tại sao

  • Bước 1) Phương pháp tính số liệu được thu thập bởi từng công cụ kiểm tra thời gian phản hồi API
  • Bước 2) Công cụ Mô phỏng tải và tốc độ chụp có thể tạo ra sự khác biệt về thời gian phản hồi
  • Bước 3) Các mục bổ sung được ghi lại khi theo dõi tải của người dùng
  • Bước 4) Các số liệu tính toán được thu thập bởi mỗi công cụ sẽ tăng thời gian phản hồi do mức tiêu thụ tài nguyên cao.
  • Bước 5) Kiến trúc của hai công cụ có thể khác nhau

Các loại số liệu phản hồi (Response Metric)

Số liệu phản hồiGiải thích
Thời gian phản hồi trung bìnhThời gian phản hồi trung bình là thời gian trung bình được thực hiện cho mỗi yêu cầu khứ hồi. 
Thời gian phản hồi trung bình bao gồm thời gian tải HTML, CSS, XML, hình ảnh, tệp JavaScript, v.v. Do đó, thời gian phản hồi trung bình bị ảnh hưởng khi có các thành phần chậm trong hệ thống.
Thời gian phản hồi đỉnh điểmThời gian phản hồi cao nhất giúp chúng tôi tìm ra các thành phần có thể có vấn đề. 
Nó giúp chúng tôi tìm ra tất cả những điểm bất thường trong trang web hoặc hệ thống khi một yêu cầu nhất định không được xử lý chính xác. 
Ví dụ: có thể có một truy vấn cơ sở dữ liệu lớn được thực thi có thể ảnh hưởng đến thời gian phản hồi. 
Truy vấn này không cho phép trang tải vào thời điểm mong muốn.
Tỷ lệ lỗiTỷ lệ lỗi là một phép tính toán học hiển thị tỷ lệ phần trăm các yêu cầu có vấn đề so với tất cả các yêu cầu. 
Tỷ lệ phần trăm này tính tất cả các mã trạng thái HTTP hiển thị lỗi trên máy chủ. 
Nó cũng tính các yêu cầu đã hết thời gian chờ.

Ba giá trị thời gian phản hồi quan trọng

Kiểm tra thời gian đáp ứng có hai đặc điểm quan trọng nhất:

  • Thời gian phản hồi trung bình.
  • Thời gian phản hồi tối đa.

Nó cho biết người dùng cần đợi bao lâu để máy chủ phản hồi yêu cầu.

Sau đây là ba giá trị mẫu thử nghiệm thời gian phản hồi chính

Thời gian phản hồiÝ nghĩa
0.1 giâyĐó là thời gian phản hồi ưa thích nhất. 
Nếu thời gian phản hồi là 0,1, người dùng luôn cảm thấy ứng dụng hoặc hệ thống phản hồi ngay lập tức và không cảm thấy bất kỳ sự gián đoạn nào.
1.0 giâyNó được định nghĩa là giới hạn tối đa của thời gian phản hồi có thể chấp nhận được. 
Người dùng khó có thể cảm thấy bất kỳ sự gián đoạn nào, mặc dù họ có thể gặp phải một số độ trễ. 
Thời gian phản hồi hơn 1 giây có thể làm gián đoạn trải nghiệm của người dùng.
10 giâyĐó là giới hạn tối đa mà sau đó thời gian phản hồi vượt quá giới hạn chấp nhận được. 
Tuy nhiên, ở thời điểm hiện nay, nếu thời gian phản hồi vượt quá 6 giây, người dùng sẽ rời khỏi trang web đó hoặc thoát khỏi ứng dụng.

Nói chung, thời gian phản hồi phải nhanh nhất có thể trong khoảng 0,1 – 1 giây. Tuy nhiên, mọi người có thể điều chỉnh thời gian phản hồi chậm hơn nhưng họ sẽ không bao giờ hài lòng với thời gian phản hồi lớn hơn 2 giây. Thời gian phản hồi càng ngắn, sự hài lòng của khách hàng càng tốt, chi phí thấp hơn, sự hài lòng của khách hàng cao hơn.

Công cụ kiểm tra thời gian phản hồi

Có rất nhiều công cụ kiểm tra Thời gian phản hồi có sẵn trên thị trường. 2 công cụ kiểm tra thời gian phản hồi nổi bật nhất là:

1) JMeter

Apache JMeter là một công cụ kiểm tra tải nguồn mở. Nó được thiết kế để đo lường hiệu suất của các trang web. Công cụ kiểm tra tải này có thể được sử dụng trong phương pháp DevOps.

Đặc trưng:

  • JMeter cho phép thực hiện kiểm tra tải và hiệu suất cho nhiều loại máy chủ khác nhau.
  • Công cụ kiểm tra tải này lưu trữ các kế hoạch kiểm tra của nó ở định dạng XML cho phép người dùng tạo kế hoạch kiểm tra bằng trình soạn thảo văn bản (text editor).
  • Công cụ này có thể được sử dụng để thực hiện kiểm thử chức năng và kiểm thử tự động hóa của các ứng dụng.

Link download: http://jmeter.apache.org/download_jmeter.cgi

2) Load runner

Loadrunner của Micro Focus là một công cụ Kiểm tra tải được sử dụng rộng rãi. Đây là một trong những lựa chọn thay thế tốt nhất cho JMeter cung cấp giao diện phân tích và giám sát thân thiện với người dùng với các biểu đồ và đồ họa màu.

Đặc trưng:

  • Hỗ trợ thử nghiệm liên tục
  • LoadRunner có thể hoạt động hiệu quả trên nhiều môi trường doanh nghiệp
  • Có thể chạy nhiều tập lệnh giao thức với Loadrunner
  • Tích hợp với nhiều công cụ phát triển khác nhau như Visual Studio , Jenkins, Selenium, v.v.

Link download: https://software.microfocus.com/en-us/products/loadrunner-load-testing/overview

Kết luận:

  • Thời gian phản hồi đề cập đến thời gian để một nút hệ thống đáp ứng yêu cầu của nút khác.
  • Thời gian phản hồi trung bình trong thử nghiệm hiệu suất (performance testing) là thời gian trung bình được thực hiện cho mỗi lượt yêu cầu.
  • Thời gian phản hồi cao nhất giúp chúng ta phát hiện ra những thành phần nào có thể có vấn đề.
  • Tỷ lệ lỗi là một phép tính toán hiển thị phần trăm các yêu cầu có vấn đề.
  • Ba giá trị thời gian phản hồi quan trọng là: 0,1 giây, 1,0 giây và 10 giây.
  • Hai công cụ kiểm tra thời gian phản hồi được sử dụng nhiều nhất là Jmeter , Loadrunner.

Bài viết gốc: https://www.guru99.com/response-time-testing.html