Burada kitapta mevcut olan senaryoyu kendimce özetlemeye çalışacağım.
Sistem bazen yavaş ile başlayan sorunun incelenmesi.
1- Müşteriye performans problemi olduğunu düşündüren şey nedir?
2- Problemi işlem ve gecikme teknik detayları kullanarak tanımlamak mümkün mü?
Ilk bu soruları sormasında ki amaç çoğu zaman müşteriler metric değerleri yanlış değerlendirmekte ve bu nedenle lmayan problemi algılayabilmekteler.
Bu durumda müşteri redis diye bir yazılım kullanmakta ve zaman zaman 1 snyeden fazla donma yaşamaktalar. Ticket belirli işlemleri göstermektedir. Brendan ticket geçmişini okudukça sistemde işlemcilerin ve TCp paket akışının zaten test edildiğini ve Curl komutunun look ile kullanıldığında zaman zaman 200ms ye kadar gecikme görldüğünü ama işlemcilerin normal çalıştığını öğrenir.
200ms hmm beklenen 1 saniye değil ama buda yüksek bir değer.
Öncelikle hızlıa bir
tail /var/log/messages
böylece önemli bir sıkıntı var mı görürüz.
Sonra tcp istatistiklerine bakıyor.
netstat -s 1 |grep tcp
BURAYI örneklendirmek lazım.sf621………….
baktığı değerler tcpListenDrop, tcpListenDropQ0 ve tcpRetransSegs ancak bu değerler normal görünmekteler.
Müşteri problemin Redis ten kaynaklandığını söylemişti ticket da peki redis nedir? Google dan bakınca redis in memory (RAM)de çalışan bir anahtar-değer (key-value) sistemi olduğunu görür. Hmm RAM de demek. İyi de RAM de nasıl bu kadar gecikme olabilir ki?