ab - Apache HTTP sunucusu başarım ölçme aracı - Apache HTTP Sunucusu Sürüm 2.2

Apache Server 2.2

Apache HTTP Sunucusu Sürüm 2.2

<-

ab - Apache HTTP sunucusu başarım ölçme aracı

ab Apache Hiper Metin Aktarım Protokolü (HTTP) sunucunuzun başarımını ölçmek amacıyla kullanabileceğiniz bir kıyaslama aracıdır. Mevcut Apache kurulumunuzun görevini nasıl yerine getirdiği hakkında bir izlenim edinmeniz için tasarlanmıştır. Özellikle, Apache kurulumunuzun saniyede kaç isteği sunma yeteneğinde olduğunu gösterir.

Ayrıca bakınız:

top

Kullanım

ab [ -A yetkili-kullanıcı:parola ] [ -b tampon-boyu ] [ -c bağlantı-sayısı ] [ -C çerez-ismi=değer ] [ -d ] [ -e csv-dosyası ] [ -f protokol ] [ -g gnuplot-dosyası ] [ -h ] [ -H özel-başlık ] [ -i ] [ -k ] [ -n istek-sayısı ] [ -p POST-dosyası ] [ -P vekil-yetkilisi:parola ] [ -q ] [ -r ] [ -s ] [ -S ] [ -t saniye ] [ -T içerik-türü ] [ -u PUT-dosyası ] [ -v ayrıntı-düzeyi] [ -V ] [ -w ] [ -x <table>-öznitelikleri ] [ -X vekil[:port] ] [ -y <tr>-öznitelikleri ] [ -z <td>-öznitelikleri ] [ -Z şifre-kümesi ] [http[s]://]konakadı[:port]/dizin

top

Seçenekler

-A yetkili-kullanıcı:parola
Sunucuya TEMEL Kimlik Doğrulamada kullanılmak üzere kanıt sağlar. Kullanıcı adı ile parola arasına sadece : konur ve sunucunun buna ihtiyacı olup olmadığına bakılmaksızın (yani, bir "401 kimlik doğrulaması gerekli" yanıtı beklenmeden) bağlantı üzerinden base64 kodlu olarak sunucuya gönderilir.
-b tampon-boyu
TCP gönderme/alma tamponlarının bayt cinsinden uzunluğu.
-c bağlantı-sayısı
Aynı anda işleme sokulacak bağlantı sayısı. Aynı anda bir bağlantı öntanımlı değerdir.
-C çerez-ismi=değer
İsteğe bir Cookie: satırı ekler. Argüman olarak genellikle bir isim=değer çifti kullanılır. Bu çiftler birden fazla olabilir.
-d
"percentage served within XX [ms] table" iletisi gösterilmez. (Geriye uyumluluk için vardır).
-e csv-dosyası
Sunulan isteğin birim zamanda (milisaniye) ne kadarının (yüzde cinsinden) sunulduğunu gösteren virgül ayraçlı değerler (CSV) dosyası. Sonuçlar 'bobin haline' getirilmiş olduğundan doğal olarak 'gnuplot' dosyasından daha yararlıdır.
-f protokol
SSL/TLS protokolü belirtilir (SSL2, SSL3, TLS1 veya ALL).
-g gnuplot-dosyası
Ölçülen değerler bir 'gnuplot' veya TSV (sekme ayraçlı değerler) dosyasına yazılır. Bu dosya, Gnuplot, IDL, Mathematica, Igor hatta Excel tarafından veri dosyası olarak kabul edilir. Veri sütunlarının başlıkları dosyanın ilk satırında bulunur.
-h
Kullanım bilgisi gösterir.
-H özel-başlık
İsteğe fazladan başlık ekler. özel-başlık, aralarında iki nokta imi bulunan bir isim-değer çifti olarak belirtilir. Örnek: "Accept-Encoding: zip/zop;8bit"
-i
GET istekleri yerine HEAD istekleri yapılır.
-k
HTTP KeepAlive (kalıcı bağlantı) özelliğini etkinleştirir, yani tek bir oturum içinde çok sayıda isteğe hizmet sunulabilir. Özellik öntanımlı olarak kapalıdır.
-n istek-sayısı
Kıyaslama oturumu sırasında sunucuya uygulanacak istek sayısı. Öntanımlı olarak hiçbir başarım ölçütü sağlamayan tek bir istek yapılır.
-p POST-dosyası
POST isteği ile ilgili verileri içeren dosya. Ayrıca -T seçeneğini de belirtmeyi unutmayın..
-P vekil-yetkilisi:parola
Vekil sunucuya TEMEL Kimlik Doğrulamasında kullanılacak kanıtları sağlar. Kullanıcı adı ile parola arasına sadece : konur ve vekilin buna ihtiyacı olup olmadığına bakılmaksızın (yani, bir "407 vekilde kimlik doğrulaması gerekiyor" yanıtı beklenmeden) bağlantı üzerinden base64 kodlu olarak sunucuya gönderilir.
-q
İstek sayısı 150'den fazla olduğunda, ab her 100 veya %10 istekte bir, standart hataya bir işlenen istek sayacı çıktılar. -q seçeneği bu çıktının üretilmemesini sağlar.
-r
Soket hata alsa bile program çıkmaz.
-s
Derlendiği takdirde (ab -h bunu gösterir) http protokolü yerine SSL korumalı https protokolü kullanılır. Bu özellik henüz emekleme aşamasında olup geliştirilmeye devam edilmektedir. Bu bakımdan kullanımı önerilmez.
-S
Ortalama ve ortanca değerler arasında bir veya iki standart sapmadan fazlası varsa ne ortalama değer ne standart sapma değeri ne de uyarı/hata iletileri gösterilir. Öntanımlı olarak, asgari/ortalama/azami değerler gösterilir. (Geriye uyumluluk).
-t saniye
Ölçümleme işleminin ne kadar süreyle uygulanacağı belirtilir. Dahili olarak -n 50000 seçeneği uygulanır. Bunu belli bir süreye göre kıyaslama yapmak amacıyla kullanabilirsiniz. Öntanımlı olarak bir süre kısıtlaması yoktur.
-T içerik-türü
POST/PUT verisi için kullanılacak içerik türü belirtilir. Örnek: application/x-www-form-urlencoded. Öntanımlı değer: text/plain.
-u PUT-dosyası
PUT verisini içeren dosya. Ayrıca, -T seçeneğini belirtmeyi de unutmayın.
-v ayrıntı-düzeyi
Çıktının ayrıntı düzeyi belirtilir. 4 ve üstü ile başlıklar hakkında bilgi, 3 ve üstü ile yanıt kodları (404, 200, vb.), 2 ve üstü ile ise uyarı ve bilgi iletileri gösterilir.
-V
Sürüm bilgilerini gösterir ve çıkar.
-w
Sonuçları HTML tabloları olarak basar. Öntanımlı tablo, beyaz artalanlı ve iki sütunludur.
-x <table>-öznitelikleri
<table> etiketinde kullanılacak öznitelikler belirtilir. Belirtilen öznitelikler etiket içine <table buraya > biçeminde yerleştirilir.
-X vekil[:port]
İstekler için bir vekil sunucu kullanılır.
-y <tr>-öznitelikleri
<tr> etiketinde kullanılacak öznitelikler belirtilir.
-z <td>-öznitelikleri
<td> etiketinde kullanılacak öznitelikler belirtilir.
-Z şifre-kümesi
SSL/TLS şifre kümesi belirtilir (openssl(1) şifrelerine bakınız).
top

Çıktı

Aşağıdaki listede ab çıktısındaki değerler açıklanmıştır:

Server Software
Varsa, bu değer başarılı ilk yanıtın server HTTP başlığında döner. Bu değer, başlıktan saptanan, başlangıçtan 32 onluk değerli karaktere (gerçekte, bir boşluk veya CR/LF) kadar olan tüm karakterleri içerir.
Server Hostname
Komut satırında belirtilen DNS veya IP adresi.
Server Port
ab'nin bağlandığı port. Komut satırında bir port belirtilmemişse http için 80, https için 443 öntanımlıdır.
SSL/TLS Protocol
İstemci ile sunucu arasında alıp verilen protokol değerleri. Bu sadece SSL kullanılıyorsa çıktılanır.
Document Path
Komut satırından elde edilen istek URI'si.
Document Length
Başarıyla dönen ilk belgenin bayt cinsinden uzunluğu. Eğer belge uzunluğu sınama sırasında değişirse yanıt bir hata olarak ele alınır.
Concurrency Level
Sınama sırasında eşzamanlanan istemci sayısı.
Time taken for tests
İlk soket bağlantısının kurulduğu andan son yanıtın alındığı ana kadar geçen süre.
Complete requests
Alınan başarılı yanıtların sayısı.
Failed requests
Başarısız olarak kabul edilen istek sayısı. Bu sayı sıfırdan farklıysa, ayrı bir satırda, bağlantıdan, okumadan, yanlış içerik uzunluğundan veya istisnalardan kaynaklanan başarısızlık sayıları da gösterilir.
Write errors
Yazma sırasında oluşan hata (kırık boru) sayısı.
Non-2xx responses
200 serisinden olmayan yanıt kodlarının sayısı. Tüm yanıtlar 200 kodlu ise bu alan çıktılanmaz.
Keep-Alive requests
Keep-Alive isteklerinde sonuçlanan bağlantı sayısı.
Total body sent
Yapılandırılmışsa, sınamanın bir parçası olarak gönderilecek toplam veri miktarı (bayt). Sınama sırasında gönderi bir veri gövdesi içermiyorsa bu alan çıktılanmaz.
Total transferred
Sunucudan alınan toplam bayt sayısı. Bu sayı aslında hattan gönderilen bayt miktarıdır.
HTML transferred
Sunucudan alınan toplam belge baytı miktarı. Bu miktar HTTP başlıklarındaki baytları içermez.
Requests per second
Saniyedeki istek sayısı. Toplam istek sayısının isteklerin toplam zamanına oranıdır.
Time per request
İstek başına harcanan ortalama zaman. İlk değerin formülü: eşzamanlananİstemciSayısı * geçenSüre * 1000 / tamamlananİstekSayısı, ikinci değerin formülü: geçenSüre * 1000 / tamamlananİstekSayısı
Transfer rate
okunanToplam / 1024 / geçenSüre formülü ile hesaplanan aktarım hızı.
top

Börtü böcek

Duruk bildirimli sabit uzunlukta çeşitli tamponlar vardır. Sunucudan gelen yanıt başlıkları ve diğer harici girdiler, komut satırı argümanları ile birlikte basitçe çözümlenir, bu size can sıkıcı gelebilir.

HTTP/1.x protokolünü tamamen gerçeklemez; sadece yanıtların 'belli başlı' bazı biçimlerini kabul eder. Aksi takdirde, strstr(3) işlevinin yoğun kullanımı nedeniyle sunucu yerine ab'nin başarımını ölçerdiniz.