Arka Planda Çalışan Süreçler Sunucuyu Neden Yavaşlatıyor? Web Sitesi Trafiği Normal Görünürken Gizemli Performans Düşüşü!

0

Merhaba arkadaşlar! Son zamanlarda sunucumda anlam veremediğim bir yavaşlık var. Web siteme gelen ziyaretçi trafiği öyle aman aman yüksek değil, hatta bazen bomboş oluyor ama sunucu kaynak tüketimi sürekli tavan yapıyor. Özellikle CPU ve I/O kullanımı hiç düşmüyor. 'top' ya da 'htop' ile baktığımda bilmediğim, alakasız bazı süreçler görüyorum ama hangisi bu soruna yol açıyor, nasıl durduracağım, hiçbir fikrim yok. Resmen sunucum kendi kendine bir şeyler çeviriyor gibi hissediyorum. Web sitem açılıyor açılmasına ama her şey çok ağır. Bu durum canımı sıkmaya başladı, ne yapacağımı şaşırdım. Böyle bir durumla karşılaşan veya çözümünü bilen var mı aranızda?

Cevaplar (3)

0

Eyvah eyvah, geçmiş olsun dostum! O durum tam bir baş belasıdır, insanı çileden çıkarır. Hani derler ya, 'Su akarken testiyi doldurmak lazım' diye, senin sunucu da galiba arka planda kim bilir ne testiler dolduruyor da sana haber vermiyor. :) Bu tür gizemli yavaşlamalar genelde gözden kaçan bir arka plan canavarı yüzünden olur.

İlk olarak bir 'top' ya da 'htop' ekranının fotoğrafını çekip burada paylaşsan belki daha net bir şeyler görebiliriz. Ama genel olarak bakarsak, sunucunda çalışan cron işlerini bir kontrol etmelisin. Bazen bir cron işi takılır kalır ya da yanlış yapılandırıldığı için sürekli kaynak sömürür. Belki bir yedekleme scripti vardır, belki de bir istatistik programı veri işlerken sapıtmıştır. Bunları kontrol etmek için SSH ile sunucuya bağlanıp 'crontab -e' komutuyla mevcut cron işlerine bir göz at. Orada ne var ne yok, hangi sıklıkla çalışıyorlar, bir kontrol et.

Bir de web sunucusu loglarına bakmak faydalı olabilir, özellikle error loglarına. Bazen bir uygulama hatası sonsuz döngüye girip CPU'yu kilitler. Apache ya da nginx error loglarında sürekli tekrarlayan bir hata mesajı var mı, incele. Eğer log dosyaları çok büyümüşse, o da I/O tüketimine neden olabilir, arada bir temizlemek veya sıkıştırmak iyi gelir.

Son olarak, eğer sunucun paylaşımlıysa, komşuların da böyle bir soruna neden olabilir ama seninki sanki daha çok kendi içinden kaynaklanan bir durum gibi. Eğer VPS veya Dedicated ise, bir 'lsof -i' komutuyla açık ağ bağlantılarına da bakabilirsin. Bazen dışarıya sürekli veri göndermeye çalışan kötü niyetli bir süreç de bu tarz yavaşlamalara sebep olabilir. Hani derler ya, 'Davul bile dengi dengine çalar' diye, senin sunucu da dengi olmayan bir yükle uğraşıyor olabilir. Sakin ol, adım adım bakınca mutlaka bir yerden yakalarsın. Geçmiş olsun tekrardan! ;)

0
Bee profil fotoğrafı Bee Yönetici Platform Uzmanı

Belirttiğiniz durum, sunucu kaynaklarının beklenmedik şekilde yüksek kullanılması ve bunun web trafiği ile doğrudan ilişkilendirilememesi, genellikle arka plan süreçlerinin anormal davranışı veya optimizasyon eksikliklerinden kaynaklanır. Bu, sunucu stabilitesi ve performans açısından kritik bir sorundur ve detaylı bir inceleme gerektirir.

Öncelikle, sistemde yüksek kaynak tüketen süreçleri belirlemek için daha kapsamlı araçlar kullanmalısınız. 'top' veya 'htop' iyi başlangıç noktaları olsa da, 'pidstat -u 1', 'iostat -x 1', 'vmstat 1' gibi komutlarla CPU, I/O ve bellek kullanımının anlık ve sürekli takibini yaparak hangi sürecin veya disk aktivitesinin soruna yol açtığını daha detaylı analiz edebilirsiniz. Yüksek I/O kullanımı, özellikle disk tabanlı loglama, yoğun veritabanı işlemleri veya disk yedekleme mekanizmalarının hatalı çalışmasından kaynaklanabilir.

Sürekli yüksek CPU kullanımı genellikle hatalı yapılandırılmış cron işleri, sonsuz döngüye giren betikler veya zafiyet barındıran bir uygulamanın kötü niyetli kullanımı sonucunda ortaya çıkar. 'crontab -l' komutu ile kullanıcı cron işlerini, '/etc/crontab' ve '/etc/cron.d/' dizinleri altında sistem çapındaki cron işlerini kontrol edin. Ayrıca, web sunucunuzun (Apache/nginx) erişim ve hata loglarını düzenli olarak inceleyin. Anormal istek paternleri veya sürekli tekrarlayan uygulama hataları, bir sürecin sürekli yeniden başlatılmasına veya aşırı kaynak tüketmesine neden olabilir. Özellikle büyük boyutlu log dosyalarının otomatik rotasyonu ve sıkıştırması doğru yapılandırılmamışsa, disk I/O performansını olumsuz etkileyebilir.

Pro İpucu: Sunucunuzda 'strace -p [PID]' komutunu kullanarak şüpheli görünen bir sürecin sistem çağrılarını gerçek zamanlı olarak izleyebilirsiniz. Bu, sürecin tam olarak ne yapmaya çalıştığını, hangi dosyalara eriştiğini veya hangi ağ bağlantılarını kurduğunu anlamanıza yardımcı olur. Özellikle dışarıya doğru yapılan bağlantılar veya dosya sistemi üzerindeki anormal işlemler bu şekilde kolayca tespit edilebilir. Ayrıca, Linux çekirdek parametrelerini ve dosya tanıtıcı limitlerini (ulimit) kontrol etmek, bazı süreçlerin kaynakları aşırı tüketmesini engelleyebilir veya mevcut limitlerin yeterli olup olmadığını gösterebilir. Sunucunun genel güvenlik durumunu ve yüklü yazılımların güncelliğini de gözden geçirmek olası zafiyetleri ortadan kaldırır.

0

Aman Tanrım, bu bildiğin sunucunun kendi kendine parti vermesi gibi bir durum! Trafik yok, yük yok ama sunucu terlemekten helak olmuş. Sanki içeride birileri gizlice bitcoin kazıyor da bize çaktırmıyorlar. Gerçekten sinir bozucu bir durum. İnsan web sitesiyle ilgilenmek isterken, bir de bu tür gizemli kaynak sömürücüleriyle uğraşmak zorunda kalıyor. Benim de başıma gelmişti benzer bir durum, o zaman anladım ki sunucu da insan gibi, kendi iç derdi bitmiyor.

Şimdi şöyle düşünelim: sunucu sana 'ben yavaşım' diyor ama neden yavaş olduğunu söylemiyor. Sen de elindeki 'top' komutunu bir dedektif gibi kullanmaya çalışıyorsun ama suçlu bir türlü ortaya çıkmıyor. Bu durumda yapacağın ilk şey, o 'top' çıktısında gözüne çarpan ama ne olduğunu bilmediğin süreçlerin PID numaralarını bir kenara not almak. Sonra 'ps aux | grep [PID]' komutuyla o süreç hakkında daha fazla bilgi edinmeye çalış. Hangi kullanıcı altında çalışıyor, hangi komutla başlamış, onu bir çözmek lazım. Belki de eski bir projenin unutulmuş bir betiği, ya da farkında olmadan kurduğun bir eklentinin arka plan servisi sapıtmıştır.

Bir de sunucu günlük dosyalarına bakmayı ihmal etme. Yani, 'server logları' dediğimiz şeylere. Bazen hatalar o kadar hızlı akar ki, bir uygulama saniyede yüzlerce hata basar ve bu da hem disk I/O'yu hem de CPU'yu yorar. Log dosyalarının boyutunu ve içindeki mesajların sıklığını kontrol et. Belki de bir saldırı girişimi var ve log dosyalarını şişirerek sunucuyu yavaşlatmaya çalışıyorlar. Hani derler ya 'Kurt kocayınca kuzuyu yatakta yakalarmış' diye, senin sunucu da belki bir zafiyet yüzünden yakalanmıştır, kim bilir. Biraz kurcalayınca ipuçları mutlaka ortaya çıkar. Kolay gelsin, umarım tez zamanda o gizemli yavaşlığın kökünü kazırsın!