Kiểm thử thời gian phản hồi: Cách đo lường hiệu suất API

⚡ Tóm tắt thông minh

Kiểm thử thời gian phản hồi đo lường thời gian hệ thống cần để trả lời một yêu cầu, từ lúc người dùng gửi yêu cầu đến lúc ứng dụng báo cáo hoàn thành. Hướng dẫn này bao gồm các chỉ số, ba ngưỡng quan trọng và các công cụ để thu thập chúng.

  • 🇧🇷 Định nghĩa cốt lõi: Thời gian phản hồi bao gồm toàn bộ quá trình, từ khi yêu cầu được gửi đi đến khi quá trình hoàn tất.
  • 📊 Ba chỉ số: Thời gian phản hồi trung bình, thời gian phản hồi tối đa và tỷ lệ lỗi cùng nhau mô tả hành vi của hệ thống.
  • 🟢 0.1 giây: Cảm giác tức thì, người dùng không hề cảm nhận được sự gián đoạn nào.
  • 🟡 1 giây: Giới hạn trên cho một dòng suy nghĩ không bị gián đoạn.
  • ???? 10 giây: Giới hạn của sự chú ý, mặc dù trên thực tế người dùng thường bỏ cuộc trước khi đạt đến giới hạn đó.
  • 🧪 Phương pháp đo lường: Tích hợp quy trình nghiệp vụ gồm các giao dịch bắt đầu và kết thúc vào công cụ kiểm thử tải.

Kiểm tra thời gian đáp ứng

Kiểm tra thời gian đáp ứng là gì?

Kiểm tra thời gian đáp ứng Thời gian phản hồi (Response Time) đo thời gian cần thiết để một nút hệ thống phản hồi yêu cầu từ một nút khác. Đó là khoảng thời gian giữa lúc yêu cầu đến và lúc quá trình tương ứng hoàn tất. Ví dụ, bạn có một API và muốn biết chính xác mất bao nhiêu thời gian để thực thi nó và trả về dữ liệu ở định dạng JSON. Thời gian phản hồi (Response Time) đo thời gian 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.

Cách đ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 kinh doanh quan trọng bằng các giao dịch Bắt đầu và Kết thúc. Một 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 một tác vụ nghiệp vụ như đăng nhập vào ứng dụng hoặc mua sách trên đó. Amazonnăm

Kiểm tra thời gian đáp ứng
Kiểm tra thời gian đáp ứ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 theo 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ốc độ tải và 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 điện 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

Số liệu thời gian phản hồi Giải thích
Thời gian phản hồi trung bình Thờ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, JavaCác tập tin script, v.v. Do đó, tốc độ trung bình bị ảnh hưởng khi có các thành phần chậm trong hệ thống.
Thời gian đáp ứng cao điểm Thờ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ỗi Tỷ lệ lỗi là một phép tính toán học thể hiện tỷ lệ phần trăm các yêu cầu gặp sự cố so với tổng số yêu cầu. Tỷ lệ phần trăm này bao gồm tất cả các mã trạng thái HTTP hiển thị lỗi trên máy chủ. Nó cũng bao gồm cả các yêu cầu bị hết thời gian chờ.

Ba ngưỡng thời gian phản hồi quan trọng

Hai con số quan trọng nhất trong bất kỳ báo cáo thời gian phản hồi nào là:

  • Thời gian phản hồi trung bình
  • Thời gian phản hồi tối đa, hay thời gian phản hồi cao nhất

Cả hai chỉ số này cùng nhau cho thấy thời gian chờ đợi trung bình của người dùng và thời gian chờ đợi của người dùng kém may mắn nhất.

Sau đây là các giá trị ví dụ về kiểm tra thời gian phản hồi chính

Thời gian đáp ứng Tầm quan trọng
0.1 thứ hai Đó 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 thứ hai Đây là giới hạn trên được chấp nhận để có trải nghiệm liền mạch. 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 lớn hơn 1 giây có thể làm gián đoạn trải nghiệm người dùng.
Giây 10 Đó 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.

Hãy cố gắng đạt được tốc độ phản hồi từ 0.1 đến 1 giây bất cứ khi nào có thể. Người dùng có thể thích nghi với các hệ thống chậm hơn, nhưng sự hài lòng sẽ giảm mạnh khi tốc độ vượt quá khoảng 2 giây, và mỗi giây tăng thêm sẽ làm tăng tỷ lệ bỏ cuộc.

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. Hai trong số những công cụ được sử dụng rộng rãi 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.

JMeter

Tính năng, đặc điểm:

  • 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.
  • Công cụ này có thể được sử dụng để thực hiện tự động và thử nghiệm chức năng của các ứng dụng.

Tải về liên kết: Apache JMeter Tải xuống


2) Người chạy tải

Loadrunner Công cụ kiểm thử tải của Micro Focus là một công cụ đượ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 giám sát và phân tích thân thiện với người dùng với các biểu đồ và đồ họa màu.

Tải Á hậu

Tính năng, đặc điểm:

  • Hỗ trợ kiểm tra 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 các công cụ phát triển khác nhau như Visual Studio, Jenkins, Selenium, Vv

Tải về liên kết: LoadRunner chuyên nghiệp

Bài kiểm tra này phù hợp với nhóm kiểm thử hiệu năng như thế nào?

Kiểm thử hiệu năng là một thuật ngữ chung. Các biến thể dưới đây chỉ khác nhau ở dạng tải trọng tác dụng và thời gian duy trì tải trọng đó, đó là lý do tại sao chúng thường bị nhầm lẫn với nhau.

Loại thử nghiệm Mẫu tải Câu hỏi nó trả lời
Kiểm tra tải Dự kiến ​​tải trọng cao điểm, thời gian ngắn. Hệ thống có đạt được mục tiêu đề ra trong điều kiện lưu lượng giao thông cao điểm bình thường không?
Bài kiểm tra về áp lực Tăng công suất vượt quá khả năng cho đến khi hỏng hóc Nó bị hỏng ở đâu, và liệu nó có bị hỏng một cách êm ái không?
thử nghiệm tăng đột biến Sự tăng vọt đột ngột, sau đó là sự rút lui. Liệu nó có thể tồn tại và phục hồi sau cú sốc giao thông?
kiểm tra độ bền Tải trọng bình thường được duy trì trong nhiều giờ. Hiệu năng có giảm dần theo thời gian không?
thử nghiệm ngâm Tải trọng duy trì trong một thời gian dài Có hiện tượng rò rỉ bộ nhớ hoặc cạn kiệt tài nguyên không?
Kiểm tra độ ổn định Tải trọng thay đổi tùy theo điều kiện Hệ thống có duy trì được độ tin cậy khi điều kiện thay đổi không?
Kiểm tra khối lượng Người dùng thông thường, dung lượng dữ liệu rất lớn. Liệu hệ thống có đáp ứng được khi cơ sở dữ liệu phát triển?

Thử nghiệm độ bền và thử nghiệm ngâm thường được coi là đồng nghĩa. Trong cách sử dụng thông thường, cả hai đều duy trì tải trọng ổn định trong thời gian dài. Ở những nơi các nhóm phân biệt chúng, kiểm thử độ bền tập trung vào việc liệu thời gian phản hồi có tăng lên hay không, trong khi kiểm thử độ bền lâu tập trung vào mức tiêu thụ tài nguyên như bộ nhớ, xử lý tập tin và nhóm kết nối. Chạy một trong hai thường cung cấp bằng chứng cho cả hai.

Kiểm thử thời gian phản hồi: Những điểm chính cần lưu ý

  • Thời gian phản hồi là thời gian cần thiết để một nút hệ thống phản hồi lại yêu cầu của một nút khác.
  • Thời gian phản hồi trung bình trong kiểm tra năng suất là thời gian trung bình thực hiện cho mỗi yêu cầu khứ hồi.
  • Thời gian phản hồi tối đa cho thấy các thành phần nào có khả năng gây ra vấn đề.
  • Tỷ lệ lỗi là một phép tính toán học 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 trong số những công cụ kiểm tra thời gian phản hồi được sử dụng rộng rãi nhất là JMeterLoadRunner.

Câu Hỏi Thường Gặp

Độ trễ là thời gian truyền tải yêu cầu qua mạng. Thời gian phản hồi bao gồm độ trễ cộng với tất cả quá trình xử lý và hiển thị trên máy chủ. Một mạng nhanh vẫn có thể dẫn đến thời gian phản hồi kém nếu máy chủ chậm.

Giá trị trung bình che giấu các giá trị ngoại lệ. Một hệ thống có thời gian phản hồi trung bình là 800 ms với phân vị thứ 95 là 9 giây thì có một người dùng gặp sự cố trong số hai mươi người dùng, và chỉ có phân vị mới tiết lộ điều đó.

Hãy đặt mục tiêu thời gian tương tác dưới 1 giây và thời gian tải toàn bộ trang dưới 2 giây. Nếu vượt quá 3 giây, tỷ lệ người dùng bỏ trang sẽ tăng mạnh, bất kể giới hạn lý thuyết 10 giây là bao nhiêu.

Hệ thống giám sát dựa trên AI thiết lập mức cơ sở bình thường cho mỗi điểm cuối và tự động gắn cờ các sai lệch, thay thế các ngưỡng cố định gây nhiễu trong thời gian lưu lượng truy cập cao điểm dự kiến.

Đúng vậy. Các mô hình được huấn luyện dựa trên các lần chạy hiệu năng trong quá khứ có thể chỉ ra những thay đổi mã nào có khả năng làm chậm điểm cuối. Hãy xác nhận mọi dự đoán bằng một lần chạy thực tế có đo lường chính xác.

Tóm tắt bài viết này với: