ab - hướng dẫn tham khảo, tùy chọn, ví dụ về lệnh


TÊN

ab - Công cụ đo điểm chuẩn máy chủ Apache HTTP

TÓM TẮT

ab [ -A auth-username:password ] [ -b windowsize ] [ -B local-address ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -E client-certificate file ] [ -f protocol ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -l ] [ -m HTTP-method ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -r ] [ -s timeout ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -u PUT-file ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [ -Z ciphersuite ] [http[s]://]hostname[:port]/path

BẢN TÓM TẮT

ab là một công cụ để đo điểm chuẩn máy chủ Giao thức truyền siêu văn bản Apache (HTTP) của bạn. Nó được thiết kế để cho bạn ấn tượng về cách cài đặt Apache hiện tại của bạn hoạt động. Điều này đặc biệt cho bạn thấy có bao nhiêu yêu cầu mỗi giây mà cài đặt Apache của bạn có khả năng phục vụ.

TÙY CHỌN

-A auth-username:password

Cung cấp thông tin xác thực BASIC Authentication cho máy chủ. Tên người dùng và mật khẩu được phân tách bằng một : và được gửi trên dây được mã hóa base64. Chuỗi được gửi bất kể máy chủ có cần nó hay không (tức là, đã gửi xác thực 401 cần thiết).

-b windowsize

Kích thước của bộ đệm gửi/nhận TCP, tính bằng byte.

-B local-address

Địa chỉ để liên kết khi thực hiện các kết nối gửi đi.

-c concurrency

Số lượng nhiều yêu cầu để thực hiện tại một thời điểm. Mặc định là một yêu cầu tại một thời điểm.

-C cookie-name=value

Thêm dòng Cookie: vào yêu cầu. Đối số thường ở dạng cặp tên=giá trị. Trường này có thể lặp lại.

-d

Không hiển thị "phần trăm phân phát trong bảng XX [ms]". (hỗ trợ di sản).

-e csv-file

Viết tệp giá trị được phân tách bằng dấu phẩy (CSV) chứa mỗi tỷ lệ phần trăm (từ 1% đến 100%) thời gian (tính bằng mili giây) để phân phát tỷ lệ phần trăm yêu cầu đó. Điều này thường hữu ích hơn tệp 'gnuplot'; vì kết quả đã được 'binned'.

-E client-certificate-file

Khi kết nối với trang web SSL, hãy sử dụng chứng chỉ ứng dụng khách được cung cấp ở định dạng PEM để xác thực với máy chủ. Tệp phải chứa chứng chỉ ứng dụng khách, tiếp theo là chứng chỉ trung gian, tiếp theo là khóa riêng. Có sẵn trong 2.4.36 trở lên.

-f protocol

Chỉ định giao thức SSL/TLS (SSL2, SSL3, TLS1, TLS1.1, TLS1.2 hoặc TẤT CẢ). Hỗ trợ TLS1.1 và TLS1.2 có sẵn trong 2.4.4 trở lên.

-g gnuplot-file

Ghi tất cả các giá trị đo được dưới dạng tệp 'gnuplot' hoặc TSV (Các giá trị riêng biệt theo tab). Tệp này có thể dễ dàng được nhập vào các gói như Gnuplot, IDL, Mathematica, Igor hoặc thậm chí là Excel. Các nhãn nằm trên dòng đầu tiên của tệp.

-h

Hiển thị thông tin sử dụng.

-H custom-header

Nối các tiêu đề bổ sung vào yêu cầu. Đối số thường ở dạng dòng tiêu đề hợp lệ, chứa cặp trường-giá trị được phân tách bằng dấu hai chấm (tức là, "Chấp nhận mã hóa: zip/zop;8bit" ).

-i

Thực hiện các yêu cầu HEAD thay vì GET.

-k

Bật tính năng HTTP KeepAlive, tức là, thực hiện nhiều yêu cầu trong một phiên HTTP. Mặc định là không có KeepAlive.

-l

Không báo cáo lỗi nếu độ dài của các câu trả lời không cố định. Điều này có thể hữu ích cho các trang động. Có sẵn trong 2.4.7 trở lên.

-m HTTP-method

Phương thức HTTP tùy chỉnh cho các yêu cầu. Có sẵn trong 2.4.10 trở lên.

-n requests

Số lượng yêu cầu thực hiện cho phiên đo điểm chuẩn. Mặc định là chỉ thực hiện một yêu cầu duy nhất, điều này thường dẫn đến kết quả đo điểm chuẩn không mang tính đại diện.

-p POST-file

Tệp chứa dữ liệu để POST. Cũng nhớ đặt -T.

-P proxy-auth-username:password

Cung cấp thông tin đăng nhập Xác thực CƠ BẢN cho proxy trên đường đi. Tên người dùng và mật khẩu được phân tách bằng một : và được gửi trên dây được mã hóa base64. Chuỗi được gửi bất kể proxy có cần nó hay không (tức là, đã gửi yêu cầu xác thực proxy 407).

-q

Khi xử lý hơn 150 yêu cầu, ab xuất ra số lượng tiến trình trên stderr cứ sau 10% hoặc 100 yêu cầu hoặc hơn. Cờ -q sẽ chặn các thông báo này.

-r

Không thoát trên ổ cắm nhận lỗi.

-s timeout

Số giây tối đa để đợi trước khi ổ cắm hết thời gian chờ. Mặc định là 30 giây. Có sẵn trong 2.4.4 trở lên.

-S

Không hiển thị giá trị trung bình và độ lệch chuẩn, cũng như không hiển thị thông báo cảnh báo/lỗi khi giá trị trung bình và giá trị trung bình cách nhau hơn một hoặc hai lần so với độ lệch chuẩn. Và mặc định cho các giá trị tối thiểu/trung bình/tối đa. (hỗ trợ di sản).

-t timelimit

Số giây tối đa dành cho điểm chuẩn. Điều này có nghĩa là -n 50000 trong nội bộ. Sử dụng điều này để đánh giá máy chủ trong một khoảng thời gian cố định. Theo mặc định, không có giới hạn thời gian.

-T content-type

Tiêu đề kiểu nội dung để sử dụng cho dữ liệu POST/PUT, vd. application/x-www-form-urlencoding. Mặc định là văn bản/đơn giản.

-u PUT-file

File chứa dữ liệu để PUT. Cũng nhớ đặt -T.

-v verbosity

Đặt mức độ chi tiết - 4 trở lên in thông tin trên tiêu đề, 3 trở lên in mã phản hồi (404, 200, v.v.), 2 và ở trên in cảnh báo và thông tin.

-V

Hiển thị số phiên bản và thoát.

-w

In ra kết quả trong bảng HTML. Bảng mặc định rộng hai cột, có nền trắng.

-x <table>-attributes

Chuỗi để sử dụng làm thuộc tính cho bảng. Các thuộc tính được chèn vào bảng tại đây.

-X proxy[:port]

Sử dụng máy chủ proxy cho các yêu cầu.

-y <tr>-attributes

Chuỗi để sử dụng làm thuộc tính cho .

-z <td>-attributes

Chuỗi để sử dụng làm thuộc tính cho .

-Z ciphersuite

Chỉ định bộ mật mã SSL/TLS (Xem mã hóa openssl)

ĐẦU RA

Danh sách sau đây mô tả các giá trị được trả về bởi ab:

Server Software

Giá trị, nếu có, được trả về trong tiêu đề HTTP máy chủ của phản hồi thành công đầu tiên. Điều này bao gồm tất cả các ký tự trong tiêu đề từ đầu đến điểm mà một ký tự có giá trị thập phân là 32 (đáng chú ý nhất là: một khoảng trắng hoặc CR/LF) được phát hiện.

Server Hostname

Địa chỉ DNS hoặc IP được cung cấp trên dòng lệnh

Server Port

Cổng mà ab đang kết nối. Nếu không có cổng nào được cung cấp trên dòng lệnh, cổng này sẽ mặc định là 80 cho http và 443 cho https.

SSL/TLS Protocol

Các tham số giao thức được thương lượng giữa máy khách và máy chủ. Điều này sẽ chỉ được in nếu SSL được sử dụng.

Document Path

URI yêu cầu được phân tích cú pháp từ chuỗi dòng lệnh.

Document Length

Đây là kích thước tính bằng byte của tài liệu được trả về thành công đầu tiên. Nếu độ dài tài liệu thay đổi trong quá trình kiểm tra, phản hồi được coi là lỗi.

Concurrency Level

Số lượng khách hàng đồng thời được sử dụng trong quá trình thử nghiệm

Time taken for tests

Đây là thời gian tính từ thời điểm kết nối ổ cắm đầu tiên được tạo cho đến thời điểm nhận được phản hồi cuối cùng

Complete requests

Số phản hồi thành công nhận được

Failed requests

Số lượng yêu cầu được coi là không thành công. Nếu số này lớn hơn 0, một dòng khác sẽ được in cho biết số lượng yêu cầu không thành công do kết nối, đọc, độ dài nội dung không chính xác hoặc ngoại lệ.

Write errors

Số lỗi không thành công trong quá trình ghi (đường ống bị hỏng).

Non-2xx responses

Số lượng câu trả lời không nằm trong chuỗi 200 mã phản hồi. Nếu tất cả các câu trả lời là 200, trường này sẽ không được in.

Keep-Alive requests

Số lượng kết nối dẫn đến yêu cầu Keep-Alive

Total body sent

Nếu được định cấu hình để gửi dữ liệu như một phần của quá trình kiểm tra, thì đây là tổng số byte được gửi trong quá trình kiểm tra. Trường này được bỏ qua nếu bài kiểm tra không bao gồm nội dung để gửi.

Total transferred

Tổng số byte nhận được từ máy chủ. Con số này thực chất là số byte được gửi qua dây.

HTML transferred

Tổng số byte tài liệu nhận được từ máy chủ. Con số này không bao gồm các byte nhận được trong tiêu đề HTTP

Requests per second

Đây là số lượng yêu cầu mỗi giây. Giá trị này là kết quả của việc chia số lượng yêu cầu cho tổng thời gian thực hiện

Time per request

Thời gian trung bình dành cho mỗi yêu cầu. Giá trị đầu tiên được tính theo công thức đồng thời * thời gian thực hiện * 1000/hoàn thành trong khi giá trị thứ hai được tính theo công thức thời gian thực hiện * 1000/hoàn thành

Transfer rate

Tốc độ truyền được tính theo công thức totalread/1024/timetaken

LỖI

Có nhiều bộ đệm được khai báo tĩnh có độ dài cố định. Kết hợp với việc lười phân tích cú pháp các đối số dòng lệnh, các tiêu đề phản hồi từ máy chủ và các đầu vào bên ngoài khác, điều này có thể khiến bạn khó chịu.

Nó không triển khai HTTP/1.x đầy đủ; chỉ chấp nhận một số dạng phản hồi 'được mong đợi'. Việc sử dụng khá nhiều strstr(3) hiển thị trên cùng trong cấu hình, điều này có thể cho thấy vấn đề về hiệu suất; tức là, bạn sẽ đo lường hiệu suất ab chứ không phải của máy chủ.