Hướng dẫn test speed php - kiểm tra tốc độ php

PHP Internet Speed Tester là mã nguồn xây dựng trên PHP. Công cụ giúp kiểm tra tốc độ đường truyền mạng giữa máy chủ tải lên và đường truyền Internet nhà bạn. Không cần máy chủ mạnh cũng không khó để cài đặt để có được một trang Speedtest của riêng bạn.

Script đo tốc độ đường truyền giữa hệ thống mạng máy tính người dùng với máy chủ tải mã nguồn lên. Vì máy chủ chỉ cố định nên có thể cho tốc độ khác nhau giữa những người dùng.

Tính năng chính:

  • Kiểm tra tốc độ tải về – Download speed test
  • Kiểm tra tốc độ tải lên – Upload speed test
  • Đo thời gian Ping – Ping time measurement
  • Hỗ trợ nhiều trình duyệt [cả mobile] – Cross browser support
  • Đo tốc độ theo thời gian thực
  • Responsive

Yêu cầu:

  • Hỗ trợ PHP >5.x
  • php_curl[]
  • Cho phép Javascript trên trình duyệt

Cài đặt:

  • Upload và giải nén mã nguồn lên hosting/server
  • Cài đặt Database trong thư mục /data/ nếu muốn lưu lại dữ liệu

Xử lý sự cố

  • Kiểm tra xem máy chủ có hỗ trợ curl[] không?
  • Tắt tính năng chặn quảng cáo
  • Javascript được bật trên trình duyệt

Demo: //speedtest.yehudae.ga/

Tag:

k6 run demo.js
4

Thời gian gửi dữ liệu đến máy chủ

http_req_waiting Show

  • Thời gian chờ phản hồi từ máy chủ
  • http_req_receiving
  • Thời gian nhận dữ liệu phản hồi từ máy chủ
  • http_req_duration
  • Ví dụ: Để kiểm tra trạng thái của response trả về có phải là 200 không, ta có thể chạy file .js chứa nội dung dưới đây
  • Kết quả trả về sẽ bao gồm tỉ lệ pass/fail như dưới đây
  • Mô tả
  • iterations
  • Số liệu được sinh ra khi có HTTP request
  • http_req_blocked
  • http_req_tls_handshaking

thời gian máy khách và máy chủ xác nhận lẫn nhau

Thời gian chờ phản hồi từ máy chủ

http_req_receiving

Thời gian nhận dữ liệu phản hồi từ máy chủ

http_req_duration

Ví dụ: Để kiểm tra trạng thái của response trả về có phải là 200 không, ta có thể chạy file .js chứa nội dung dưới đây

http_req_receiving

Thời gian nhận dữ liệu phản hồi từ máy chủ

Thời gian nhận dữ liệu phản hồi từ máy chủ

http_req_duration người dùng ảo [virtual users - VUs]duration - 1 chuỗi quy định khoảng thời gian quá trình kiểm thử diễn ra.

Ví dụ: Để kiểm tra trạng thái của response trả về có phải là 200 không, ta có thể chạy file .js chứa nội dung dưới đâydefault function giúp VUs xác đỉnh điểm đầu vào, tương tự hàm main[] ở các ngôn ngữ lập trình.

Kết quả trả về sẽ bao gồm tỉ lệ pass/fail như dưới đâydefault function gọi là VU code, nó sẽ được chạy hết lần này đến lần khác trong quá trình chạy test. Code nằm ngoài default là init code và chỉ được chạy 1 lần duy nhất với mỗi VU

http_req_duration

Ví dụ: Để kiểm tra trạng thái của response trả về có phải là 200 không, ta có thể chạy file .js chứa nội dung dưới đây

import{ sleep } from 'k6';
import http from 'k6/http';

export let options = {
    duration : '15s',
    vus : 50,
};

export default function[] {
    http.get['//test.k6.io/contacts.php'];
    sleep[1];
}

Kết quả trả về sẽ bao gồm tỉ lệ pass/fail như dưới đây

Nguồn tham khảo

k6 docs

Performance testing with k6

k6 run demo.js

Ví dụ: Để kiểm tra trạng thái của response trả về có phải là 200 không, ta có thể chạy file .js chứa nội dung dưới đây

Kết quả trả về sẽ bao gồm tỉ lệ pass/fail như dưới đây

import{ sleep } from 'k6';
import http from 'k6/http';

export let options = {
    duration : '15s',
    vus : 50,
};

export default function [] {
    const url = '//example.com/login';
    const body = JSON.stringify[{
      name: 'wfng',
      age: '99',
    }];

    const params = {
      headers: {
        'Content-Type': 'application/json',
      },
    };

    http.post[url, body, params];
  }

Kết quả trả về sẽ bao gồm tỉ lệ pass/fail như dưới đây

Nguồn tham khảo

k6 docs

  • Performance testing with k6
  • Đã bao giờ bạn code 1 API mà khi dùng postman tạo request thì thấy cũng có response. Tuy nhiên, sau khi đưa vào sử dụng thì ngày nào cũng thấy bị log lỗi do request gửi vào liên tục, dẫn đến tình trạng cao tải, thành ra tính năng thì có, nhưng gần như không dùng được chưa?
  • Nội dung chính Show
  • Performance và Load Testing
Tên thông sốMô tả
vus Số lượng active users
vus_max Số lượng VU tối đa
iterations Tổng số lần VUs thực thi default function
iteration_duration Thời gian cần thiết để thực hiện 1 lần thực thi default function
data_received Lượng data nhận về
data_sent Lượng data gửi đi
checks Tỉ lệ check thành công

Số liệu được sinh ra khi có HTTP request

Tên thông sốMô tả
vus Số lượng active users
vus_max Số lượng VU tối đa
iterations Tổng số lần VUs thực thi default function
iteration_duration Thời gian cần thiết để thực hiện 1 lần thực thi default function
data_received Lượng data nhận về
data_sent Lượng data gửi đi
checks Tỉ lệ check thành công
Số liệu được sinh ra khi có HTTP requestTên thông số

Mô tả

vus

Số lượng active users

k6 run --vus 10 --duration 30s script.js

vus_max

export let options = {
    duration : '15s',
    vus : 50,
};

Số lượng VU tối đa

iterations

Tổng số lần VUs thực thi default function

thresholds: {
        http_req_failed: ['rate

Bài Viết Liên Quan

Chủ Đề