Apache Benchmark ab – Apache Web server’ın benchmarking tool’udur.
Bu tool apache’yi en iyi performans için kurulum ayarlarını test etmek amaçlı tasarlanmıştır.
Bu araçla Apache sunucumuza istediğimiz kadar istek ( request ) gönderebiliriz . Böylelikle Apache sunucunuzun kaç kullanıcaya kadar problemsiz hizmet verdiğini rahatlıkla test edebiliriz. Normal şartlarda Apache sunucu donanımsal yeterlilik olduğu sürece sıkıntısız bir şekilde çalışır.
Apache Benchmark ab,apache kurulumuyla birlikte gelmektedir. Apache kurulumunu yaptığımız dizinde bin klasörünün altında yer almaktadır.
1 2 |
[root@omeroner~]$which ab /usr/bin/ab |
komutu ile ab nin çalıştığı dizin bulabiliriz.
Örnek olarak aşağıdaki kodu çalıştıralım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
[root@omeroner~]$ab -c 10 -n 1 -t 1 http://omeroner.com/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking omeroner.com (be patient) Finished 1 requests Server Software: Apache Server Hostname: omeroner.com Server Port: 80 Document Path: / Document Length: 145028 bytes Concurrency Level: 10 Time taken for tests: 14.771 seconds Complete requests: 1 Failed requests: 0 Write errors: 0 Total transferred: 588341 bytes HTML transferred: 586091 bytes Requests per second: 0.07 [#/sec] (mean) Time per request: 147710.250 [ms] (mean) Time per request: 14771.025 [ms] (mean, across all concurrent requests) Transfer rate: 38.90 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 54 54 0.0 54 54 Processing: 14717 14717 0.0 14717 14717 Waiting: 14555 14555 0.0 14555 14555 Total: 14771 14771 0.0 14771 14771 [root@omeroner~]$ |
Komutu açıklayacak olursak ;
- -c 10 : bu parametre ile sunucuya aynı anda 10 istek yolluyoruz eş zamanlı olarak. Sanki 10 kişi sunumuza uğrayıp sayfayı görüntülüyor gibi düşünün.
- -n 1 : bu parametre ile her 10 kişi sayfayı 1 kere görüntlüyor. Yani istek yapıyor.
- -t 1 : bu parametre ile bu isteklerin süresinin 1 sn olmasını sağlıyoruz. Varsayılan olarak bu değer sonsuzdur.
Aşağıda ab tarafından döndürülen değerler açıklanmıştır;
Server Software
İlk başarılı yanıtın, varsa, server HTTP başlığında döndürülen değer.
Server Hostname
Komut satırında belirtilen DNS veya IP adresi.
Server Port
ab’nin bağlandığı port. Komut satırında port belirtilmemişse, öntanımlı olarak http için 80, https için 443’tür.
SSL/TLS Protocol
İstemci le sunucu arasında uzlaşılmış protokol değerleri. Bu sadece SSL kullanılıyorsa çıktılanır.
Document Path
Komut satırı dizgesinden çözümlenen isteğin URI’si.
Document Length
Başarıyla döndürülen ilk belgenin bayt cinsinden uzunluğu. Eğer belge uzunluğu sınama sırasında değişirse yanıt bir hata içerecektir.
Concurrency Level
Sınama sırasında kullanılan eşzamanlı istemcilerin sayısı.
Time taken for tests
İlk soket bağlantısının alındığı 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ızlık olarak addedilen isteklerin sayısı. Sayı sıfırdan büyükse, diğer satırda, bağlanma, okuma, yanlış içerik uzunluğu, istisnalar gibi sebeplerle başarısız olmuş istekler gösterilir.
Write errors
Başarısız yazma hatalarının (kırık boru) sayısı.
Total transferred
Sunucudan alınan toplam bayt sayısı. Bu sayı aslında hattan gönderilen bayt sayısıdır.
HTML transferred
Sunucudan alınan belge baytlarının sayısı. Bu sayı HTTP başlıklarının bayt sayısını içermez.
Requests per second
Saniyedeki istek sayısı. İstek sayısının toplam süreye oranıdır.
Time per request
İstek başına harcanan süre. İlk değer eşzamanlılık * süre * 1000 / biten formülüyle hesaplanırken ikincisi için süre * 1000 / biten formülü kullanılır.
Transfer rate
okunantoplam / 1024 / süre formülüyle hesaplanan aktarım hızı.
- Daha ayrıntılı bilgiye buradan erişebilirsiniz.