Eşzamanlılık 1 olarak ayarlandıysa, bu ikisi arasında fark yoktur . Aynı anda 1'den fazla istek yaptığınızda farketmeye başlar.
Neye bulaştığımın bir örneğine bakalım localhost
:
ab -c 1 -n 1000 http://localhost/
verecek:
Time taken for tests: 3.912 seconds
Time per request: 3.912 [ms] (mean)
Time per request: 3.912 [ms] (mean, across all concurrent requests)
Bu, 1000 isteği birer birer gerçekleştirmek için 3.912 saniyenin gerekli olduğu anlamına gelir. Dolayısıyla, tek bir istek için ortalama olarak 3.912 saniye / 1000 = 3.912 ms gerekiyordu.
Şimdi eşzamanlılık seviyesini biraz arttıralım:
ab -c 10 -n 1000 http://localhost/
Time taken for tests: 0.730 seconds
Time per request: 7.303 [ms] (mean)
Time per request: 0.730 [ms] (mean, across all concurrent requests)
3.912 saniye yerine bu sefer işi bitirmek için sadece 0.730 saniyeye ihtiyacımız var. 0.730 saniyede 1000 istek gerçekleştirdik, bu nedenle bir istek ortalama 0.730 saniye / 1000 = 0.730 ms (son satır) alacaktır. Ancak durum biraz farklı, çünkü şu anda aynı anda 10 istek yapıyoruz. Aslında buradaki sayımız bir isteğin tamamlanması için gereken gerçek zamanı yansıtmıyor . 0,730 ms * 10 (eşzamanlı istek sayısı) = 7,303 ms. Aynı anda gerçekleştirilemezse (veya mevcut eşzamanlılık düzeyinde izole edilmiş bir şekilde), tek bir isteğin aynı anda gerçekleştirilmesi durumunda tamamlaması ortalamadır.
En son gördüğünüz sayı (0,730 ms), -n 1001
mevcut eşzamanlılık düzeyini -c 10
(en azından teorik olarak öyle ) kullanarak 1 istek ( ) eklediğinizde toplam sürenin ne kadar artacağını söylemek için kullanılır .
7.303 ms size tek bir yalıtılmış isteğin ne kadar süreceği konusunda genel bir bakış sunar.
Örnek -c 1
ve arasında gördüğünüz değişim -c 10
:
[-c 1 ]: Time per request: 3.912 [ms] (mean)
[-c 10]: Time per request: 7.303 [ms] (mean)
Tek bir talebin, yürütülen tek talep ise daha hızlı çalışması anlamına gelir -c 1
. -c 10
Kaynaklar için rekabet eden birden fazla istek varsa , tek bir isteğin tamamlanması daha uzun sürer. Ancak, aynı anda 10 istek gerçekleştirdiğinizi göz önünde bulundurursanız, bu 7.303 msnde 1 yerine 10 istekle karşılaşırsınız.
Yani bir şekilde tek bir istek için gecikme ölçü - 7,303 ms daha yararlıdır. Ancak performansın bir ölçüsü olarak - 0.730 ms daha anlamlıdır. Aslında 0,730 ms <3,912 ms olarak 10 eşzamanlı talebe izin verirseniz toplamda saniyede daha fazla istek sunabileceğinizi görüyorsunuz.