Bir nginx yığını oluşturuyorum ve canlı yayınlanmadan önce yapılandırmayı optimize ediyorum. Makineyi stres testi için ab çalıştırarak, saniyede 150 istekte bir şeylerin geri dönmesini> 1 saniye süren önemli sayıda talep gördüğümde hayal kırıklığına uğradım. İşin garibi, makinenin kendisi bile zor nefes almıyordu.
Sonunda kutuya ping atmayı düşündüm ve 100-125 ms civarında ping süreleri gördüm. (Makine, benim için sürpriz oldu, ülke çapında). Yani, ağ gecikmesi testime baskın geliyor gibi görünüyor. Sunucu ile aynı ağdaki bir makineden aynı testleri yürütüyoruz (ping süreleri <1 ms) ve saniyede 5000 istek görüyorum, bu da makineden beklediğim ile daha uyumlu.
Ama bu beni düşündürdü: Bir web sunucusu için saniyede "gerçekçi" bir istek ölçüsünü nasıl belirleyebilir ve rapor edebilirim? Her zaman performansla ilgili iddialar görürsünüz, ancak ağ gecikmesini dikkate almamalısınız? Tabii, sunucunun yanındaki bir makineye saniyede 5000 istek sunabilirim, ancak ülke genelindeki bir makineye sunamıyorum. Çok sayıda yavaş bağlantım varsa, sonunda sunucumun performansını etkileyecekler, değil mi? Yoksa bunların hepsini yanlış mı düşünüyorum?
Bu ağ mühendisliği 101 şey ise beni affet. Ben ticaretle geliştiriciyim.
Güncelleme: Anlaşılır olması için düzenlendi.
ab
eşzamanlılık seçeneği vardır. Neye ayarladın? Ayrıca, yerel bir ADSL bağlantısından test yapıyorsanız, testin bant genişliğinizde baskın olması muhtemeldir ve sunucuda hiçbir şey test etmeyecektir.