Để thực hiện một số thử nghiệm tải, vì sự tò mò của riêng tôi, trên máy chủ của tôi, tôi đã chạy:
ab -kc 50 -t 200 http://localhost/index.php
Điều này mở ra 50 kết nối duy trì trong 200 giây và chỉ cần đóng sập máy chủ của tôi với các yêu cầu cho index.php
Trong kết quả của tôi, tôi nhận được:
Concurrency Level: 50
Time taken for tests: 200.007 seconds
Complete requests: 33106
Failed requests: 32951
(Connect: 0, Receive: 0, Length: 32951, Exceptions: 0)
Write errors: 0
Keep-Alive requests: 0
Total transferred: 1948268960 bytes
HTML transferred: 1938001392 bytes
Requests per second: 165.52 [#/sec] (mean)
Time per request: 302.071 [ms] (mean)
Time per request: 6.041 [ms] (mean, across all concurrent requests)
Transfer rate: 9512.69 [Kbytes/sec] received
Lưu ý các yêu cầu "không thành công" 32951. Tôi không thể hình này ra.
Khi thử nghiệm đang chạy, tôi có thể truy cập trang web của mình từ máy tính ở nhà một cách hoàn hảo, mặc dù thời gian tải trang ở cuối trang được báo cáo là 0,5 thay vì 0,02 thông thường. Tuy nhiên tôi chưa bao giờ có một yêu cầu thất bại.
Vậy tại sao AB báo cáo rằng một nửa các kết nối không thành công? Và "Độ dài:" nghĩa là gì trong bối cảnh đó?