Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Memcached Sunucusunun Durumunu ve İstatistiklerini Komut Satırından İzleme Yöntemleri

stackor

Üye
Katılım
14 Mart 2026
Mesajlar
32
Merhaba arkadaşlar, bugün sizlere özellikle yüksek trafikli web projelerinizin vazgeçilmezi olan Memcached sunucunuzun sağlığını ve performansını komut satırından nasıl izleyeceğinizi anlatacağım. Bu izleme, sunucunuzun verimli çalışıp çalışmadığını, bellek kullanımını, isabet oranını (hit rate) ve olası sorunları erken tespit etmenizi sağlar. Ben de kendi sunucu parkurumda sık sık bu yöntemlere başvuruyorum.

🔍 Temel İstatistikleri Görüntüleme

Memcached, `stats` komutu ile durumunu bize sunar. Sunucuya bağlanıp bu komutu vermemiz yeterli. En kolay yöntem `telnet` veya `nc` (netcat) kullanmaktır.

Bash:
telnet localhost 11211

Bağlantı sağlandıktan sonra, komut satırına `stats` yazıp Enter'a basın. Eğer telnet yoksa, aşağıdaki `nc` komutu ile anlık olarak istatistikleri çekebilirsiniz.

Bash:
echo "stats" | nc localhost 11211

Bu komutun çıktısı, aşağıdaki gibi birçok önemli metriği içerecektir. Bu çıktıyı inceleyelim.

📊 Önemli İstatistik Metriklerini Anlama

`stats` komutunun çıktısında onlarca satır görürsünüz. İşte en kritik birkaç tanesi ve ne anlama geldikleri:

Kod:
STAT pid 12345
STAT uptime 86400
STAT time 1720000000
STAT version 1.6.15
STAT pointer_size 64
STAT curr_connections 25
STAT total_connections 12000
STAT cmd_get 1500000
STAT cmd_set 50000
STAT get_hits 1420000
STAT get_misses 80000
STAT bytes 65000000
STAT limit_maxbytes 67108864
STAT evictions 150
STAT bytes_read 2050000000
STAT bytes_written 3050000000

Şimdi buradaki bazı can alıcı metrikleri açıklayayım:
uptime: Memcached'in kaç saniyedir çalıştığını gösterir.
curr_connections: Anlık aktif bağlantı sayısı. Bu sayı normalin çok üzerindeyse bir inceleme yapmak gerekir.
cmd_get & cmd_set: Toplam kaç kez veri alındığı (get) ve veri kaydedildiği (set).
get_hits & get_misses: İşte performansın özeti! "Hit", istenen verinin bellekte bulunmasıdır. "Miss" ise bulunamamasıdır.
Hit Rate (İsabet Oranı) Hesaplama: Bu çok önemlidir. Formülü: `(get_hits / cmd_get) 100`. Yukarıdaki örnekte: `(1420000 / 1500000) 100 = %94.6` gibi mükemmele yakın bir oran çıkar. Bu oran %80'in altına düşmeye başlarsa, bellek boyutunuz yetersiz kalıyor veya önbellek stratejiniz verimli değil demektir.
bytes & limit_maxbytes: Kullanılan bellek miktarı ve izin verilen maksimum bellek. Kullanım oranı %85-90'ı geçerse, bellek artırımı veya eviction (veri atma) artar.
evictions: Bellek dolduğunda, yeni veri yer açmak için eski verilerin atılma sayısı. Bu sayı sürekli artıyorsa, limit_maxbytes değerini artırmayı düşünmelisiniz.

⚙️ Detaylı İzleme ve Diğer Komutlar

Temel `stats` dışında birkaç faydalı komut daha var:

1. Bellek Kullanım Dağılımını Görme (stats slabs):
Bu komut, bellek bloklarına (slabs) ayrılmış verilerin dağılımını gösterir. Hangi boyuttaki öğelerin ne kadar bellek kapladığını analiz etmek için kullanışlıdır.

Bash:
echo "stats slabs" | nc localhost 11211

2. Öğeleri Listeleme (stats items):
Bu komut, her bir slab sınıfındaki öğelerle ilgili istatistikleri verir (yaş, atılma sayısı vb.).

Bash:
echo "stats items" | nc localhost 11211

3. Canlı Takip için "watch" Komutu:
Linux'taki `watch` komutu ile istatistikleri belirli aralıklarla otomatik olarak yenileyebilirsiniz. Bu, canlı bir izleme sağlar.

Bash:
watch -n 2 "echo 'stats' | nc localhost 11211 | grep -E '(curr_items|bytes|get_hits|get_misses|evictions)'"

Bu komut, her 2 saniyede bir seçilmiş önemli metrikleri ekrana getirecektir.

⚠️ Dikkat Edilmesi Gerekenler

Bu komutlar varsayılan olarak sunucunun kendisinden (localhost) erişim içindir. Uzaktan erişim için Memcached konfigürasyon dosyasında (-l 0.0.0.0 gibi) ayar yapmanız ve güvenlik duvarınızı (11211 portu) kontrollü açmanız şarttır. Güvenliğe azami dikkat edin.
`get_misses` oranı yüksekse, önbellek stratejinizi (TTL süreleri, hangi verileri önbelleklediğiniz) gözden geçirin.
`evictions` sürekli artıyorsa, sunucunuza ayırdığınız RAM miktarını (`-m` parametresi) artırmanın zamanı gelmiş demektir.

🎯 Sonuç

Memcached performans izleme, sisteminizin sessiz bir kahramanının sağlık raporunu almaktır. Düzenli olarak bu istatistiklere göz atmanız, olası performans darboğazlarını ve bellek sorunlarını önceden tespit etmenizi sağlayacaktır. Özellikle hit rate ve eviction sayıları benim her hafta baktığım metriklerin başında geliyor.

Peki siz bu izleme işini nasıl yapıyorsunuz? Düzenli raporlamak için `bash` scriptleri veya monitoring araçları (Prometheus, Grafana) kullanıyor musunuz? Kendi tecrübelerinizi ve sorularınızı aşağıya yazmaktan çekinmeyin. Herkese sorunsuz sunucular dilerim!
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri