Cách sử dụng lệnh ab để kiểm tra tải của website

6
0

Cách sử dụng lệnh ab để kiểm tra tải của website

Lệnh ab là một công cụ đo điểm chuẩn và kiểm tra tải dòng lệnh cho các máy chủ web cho phép bạn mô phỏng lưu lượng truy cập cao vào một trang web. Dạng định nghĩa ngắn của apache.org là:

ab – Apache HTTP server benchmarking tool

Viết tắt ab là Apache Bench nơi bench là viết tắt của benchmarking.

Cách cài đặt lệnh ab

Nếu bạn chưa có lệnh ab trên hệ thống của mình, bạn có thể dễ dàng cài đặt nó trên Debian/Ubuntu vì nó là một phần của gói apache2-utils.

sudo apt-get install apache2-utils -y

Sau khi cài đặt gói apache2-utils, bạn sẽ có một loạt các chương trình bổ sung hữu ích cho bất kỳ máy chủ web nào, bao gồm lệnh ab này.

Hướng dẫn kiểm tra Apache Bench Load

Việc sử dụng Apache bench khá đơn giản bạn có thể thực hiện với lệnh sau:

ab -n 100 -c 10 https://example.com/

Trong đó:

  • -n: Là số lượng yêu cầu
  • -c: Là số lượng yêu cầu đồng thời

Với lệnh ab -n100 -c 10 có nghĩa sẽ gửi tổng cộng 100 yêu cầu đến trang web example.com với không quá 10 người dùng đồng thời yêu cầu cùng lúc. Về cơ bản, lệnh ab sẽ ban đầu tạo 10 yêu cầu đồng thời đến example.com, sau đó khi một trong những yêu cầu được hoàn thành, yêu cầu thứ 11 sẽ được tạo. Mẫu này sẽ lặp lại cho đến khi tất cả 100 yêu cầu được hoàn thành.

Nếu bạn muốn đăng nhập kết quả từ mỗi yêu cầu cá nhân, bạn có thể làm điều đó với đối số -g:

ab -n 10000 -c 1000 -g out.txt https://example.com/

Bên dưới là một ví dụ thực tế mình thực hiện.

root@vps-db1a1e99:~# ab -n 100 -c 10 https://dotrungquan.info/
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking dotrungquan.info (be patient).....done


Server Software:        nginx
Server Hostname:        dotrungquan.info
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-CHACHA20-POLY1305,2048,256
Server Temp Key:        X25519 253 bits
TLS Server Name:        dotrungquan.info

Document Path:          /
Document Length:        168758 bytes

Concurrency Level:      10
Time taken for tests:   4.849 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      16905700 bytes
HTML transferred:       16875800 bytes
Requests per second:    20.62 [#/sec] (mean)
Time per request:       484.861 [ms] (mean)
Time per request:       48.486 [ms] (mean, across all concurrent requests)
Transfer rate:          3404.99 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       91  108   6.2    111     119
Processing:   343  350   4.9    350     378
Waiting:       59   70   4.6     72      86
Total:        435  458   9.5    461     498

Percentage of the requests served within a certain time (ms)
  50%    461
  66%    463
  75%    464
  80%    465
  90%    468
  95%    469
  98%    486
  99%    498
 100%    498 (longest request)

Đây là kết quả của việc sử dụng ApacheBench để kiểm tra hiệu năng của trang web dotrungquan.info. Các thông số được giải thích như sau:

  • -n 100: Số lần yêu cầu trang web.
  • -c 10: Số lượng kết nối đồng thời đến server.
  • Server Software: Phần mềm máy chủ web được sử dụng, ở đây là Nginx.
  • Server Hostname: Tên miền của server, ở đây là dotrungquan.info.
  • Server Port: Cổng kết nối server, ở đây là 443 (HTTPS).
  • SSL/TLS Protocol: Giao thức bảo mật được sử dụng, ở đây là TLSv1.2 với mã hóa ECDHE-RSA-CHACHA20-POLY1305, độ dài khóa là 2048 bit và 256 bit.
  • Server Temp Key: Khóa tạm thời được sử dụng để bảo mật kết nối, ở đây là X25519 với độ dài 253 bit.
  • TLS Server Name: Tên miền được sử dụng để thiết lập kết nối bảo mật.
  • Document Path: Đường dẫn đến trang web được yêu cầu, ở đây là trang chủ (/).
  • Document Length: Kích thước của nội dung được trả về cho mỗi yêu cầu, ở đây là 168758 byte.
  • Concurrency Level: Số kết nối đồng thời được thiết lập, ở đây là 10.
  • Time taken for tests: Thời gian thực hiện kiểm tra hiệu năng, ở đây là 4.849 giây.
  • Complete requests: Số yêu cầu hoàn thành mà không có lỗi xảy ra.
  • Failed requests: Số yêu cầu thất bại.
  • Total transferred: Tổng số byte được truyền tải.
  • HTML transferred: Số byte của nội dung HTML được truyền tải.
  • Requests per second: Số lượng yêu cầu hoàn thành trên giây, ở đây là 20.62 yêu cầu/giây.
  • Time per request: Thời gian trung bình để hoàn thành một yêu cầu, ở đây là 484.861 ms/yêu cầu.
  • Time per request: Thời gian trung bình để hoàn thành một yêu cầu cho tất cả các kết nối đồng thời, ở đây là 48.486 ms/yêu cầu.
  • Transfer rate: Tốc độ truyền tải, tính bằng Kbytes/giây, ở đây là 3404.99 Kbytes/giây.
  • Connection Times: Thời gian kết nối và x

Sử dụng ab làmức đơn giản nhất bởi đây có lẽ là cách dễ nhất để thực hiện kiểm tra tải cho một trang web. Bạn có thể giám sát việc sử dụng tài nguyên trên trang web của mình với lệnh htop để xem việc sử dụng bộ nhớ trực tiếp và sử dụng CPU.

Đỗ Trung Quân
WRITTEN BY

Đỗ Trung Quân

Nguồn nội dung này đến từ Website DoTrungQuan.info

Trả lời