Hosting & Sunucu

Sitem neden yavaş? Teşhis kılavuzu

Siteniz yavaşladı mı? Bu rehberde, kesin araçlar ve pratik yöntemlerle sorunu ağ, sunucu ve koddan ayırın ve site hızınızı geri kazanın.

Hosting & Sunucu

Giriş: Site Neden Yavaş ve Sorun Gidermeye Nasıl Başlanmalı?

Site yavaşlığı, web sitesi sahipleri için en yaygın ve can sıkıcı sorunlardan biridir. Kullanıcılar yavaş bir siteyle karşılaştıklarında, yalnızca kötü bir kullanıcı deneyimi yaşamakla kalmaz, aynı zamanda Hemen Çıkma Oranı (Bounce Rate) artar ve SEO sıralaması da düşer. Ancak iyi haber şu ki, yavaşlık sorunlarının çoğu tespit edilebilir ve çözülebilir. Bu makalede, yavaş site sorununu gidermek için adım adım bir süreç sunuyoruz; bu süreç, sorunun kaynağını tam olarak bulmanıza yardımcı olacak: Sorun ağdan mı, sunucudan mı yoksa site kodlarından mı kaynaklanıyor?

Başlamak için tarayıcı, komut satırı (Terminal) ve birkaç ücretsiz çevrimiçi hizmet gibi basit araçlara ihtiyacınız var. Amacımız, belirli ölçümlerle her katmanı ayrı ayrı incelemektir. Hızlı ve pratik çözümler arıyorsanız, bu rehberi sonuna kadar takip edin.

Birinci Adım: Ağ Sorununu Teşhis Etme – İnternet mi yoksa DNS mi Suçlu?

Sunucuyu veya kodu suçlamadan önce, sorunun yerel ağınızdan veya internet yolundan kaynaklanmadığından emin olmalısınız. Çoğu zaman kullanıcılar, kendi internet bağlantılarındaki veya DNS gecikmesindeki bir sorun nedeniyle sitenin yavaş olduğunu düşünürler.

Ping Komutu ile Ağ Gecikmesini Kontrol Etme

Ağı kontrol etmek için en basit araç ping komutudur. Bu komut, veri paketlerinin sunucuya gidiş-dönüş süresini (RTT) gösterir. Pratik bir örnek:

ping -c 10 example.com

İran'da iyi bir sunucu (yerel barındırma ile) için tipik çıktı 50 milisaniyenin altında olmalıdır. 150 milisaniyenin üzerinde sayılar veya yüksek dalgalanma (Jitter) görürseniz, sorun muhtemelen ağdandır. Önemli not: Ana sunucuya ping yüksekse ancak başka bir sunucuya (örneğin, IP 8.8.8.8 ile Google DNS) düşükse, sorun sunucunuzun belirli yolundadır.

Yaygın hata: Birçok kişi yalnızca bir kez ping atar. Ortalamayı ve standart sapmayı görmek için her zaman en az 10 kez ping atın. 20 milisaniyeden fazla dalgalanma, ağ kararsızlığının bir işaretidir.

dig veya nslookup Komutu ile DNS Kontrolü

Bazen site yavaşlığı, alan adı çözümleme (DNS Resolution) gecikmesinden kaynaklanır. dig komutuyla DNS yanıt süresini ölçebilirsiniz:

dig example.com +stats

Çıktıdaki Query time satırına dikkat edin. Bu sayı 200 milisaniyenin üzerindeyse, DNS'iniz yavaştır. Çözüm: Sunucu veya işletim sistemi ayarlarında Cloudflare (1.1.1.1) veya Google (8.8.8.8) gibi daha hızlı bir DNS kullanın.

İkinci Adım: Sunucu Sağlığını Kontrol Etme – Yeterli Kaynağınız Var mı?

Ağ sağlıklıysa, sıra sunucuyu incelemeye gelir. Sunucu yavaşlığı genellikle yetersiz kaynaklar (CPU, RAM, disk I/O) veya barındırma yazılımlarının yanlış yapılandırılması nedeniyle oluşur.

SSH ve Linux Komutları ile Kaynak Kullanımını Kontrol Etme

Sunucuya SSH erişiminiz varsa, aşağıdaki komutları kullanın:

  • CPU ve RAM Kontrolü: top veya htop – CPU'nun %80'inden fazlasını tüketen işlemleri arayın. RAM %100'e yakınsa, sunucu çok yavaş olan Swap kullanmaya başlar.
  • Disk I/O Kontrolü: iostat -x 1 5%util %90'ın üzerindeyse, disk darboğazdır. Bu sorun, normal HDD'li sunucularda yaygındır.
  • Sunucu Yükünü Kontrol Etme (Load Average): uptime – Load Average, CPU çekirdeği sayısından fazlaysa (örneğin, 4 çekirdekli bir CPU'da Load 8), sunucu aşırı yüklenmiştir.

Gerçek bir örnek: top çıktısının MySQL'in CPU'nun %95'ini tükettiğini gösterdiğini varsayalım. Bu, veritabanı sorgularının optimize edilmediği ve indekslerin veya sorguların kontrol edilmesi gerektiği anlamına gelir.

Web Sunucusu Yapılandırmasını Kontrol Etme (Apache/Nginx)

Yanlış web sunucusu ayarları yavaşlamaya neden olabilir. Nginx için yapılandırma dosyası genellikle /etc/nginx/nginx.conf konumundadır. Anahtar parametreler:

  • worker_processes: CPU çekirdeği sayısına eşit olmalıdır.
  • worker_connections: Genellikle 1024 veya 2048 yeterlidir. Çok düşükse, eşzamanlı bağlantılar sınırlanır.

Apache için MaxRequestWorkers ve KeepAlive ayarlarına dikkat edin. KeepAlive'ı 5 saniyeye ayarlayın, daha fazla değil.

Üçüncü Adım: Kod ve Veritabanını Kontrol Etme – Uygulama Optimize mi?

Ağ ve sunucu sağlıklıysa, sorun site kodlarından veya veritabanından kaynaklanıyordur. Bu adım daha özel araçlar gerektirir.

Kod için Profiling Araçlarını Kullanma

PHP siteleri (WordPress gibi) için Query Monitor veya Xdebug gibi eklentiler kullanın. Bu araçlar, hangi sorguların veya işlevlerin en fazla zamanı aldığını gösterir. Bir örnek: Bir sayfa 3 saniyede yükleniyorsa ve Query Monitor bir sorgunun 2.5 saniye sürdüğünü gösteriyorsa, bu sorguyu optimize etmelisiniz (örneğin, indeks ekleyerek).

Node.js veya Python tabanlı siteler için Node için clinic veya Python için cProfile gibi yerleşik Profiling araçlarını kullanın.

EXPLAIN ile Veritabanını Kontrol Etme

Veritabanı yavaşlığı, yavaş sitenin ana nedenlerinden biridir. EXPLAIN komutuyla sorguların indeks kullanıp kullanmadığını görebilirsiniz. Örnek:

EXPLAIN SELECT * FROM posts WHERE status = 'published' ORDER BY created_at DESC;

Çıktıda type sütununa dikkat edin. ALL ise, çok yavaş olan Full Table Scan gerçekleşmiştir. status ve created_at sütunlarına indeks eklemelisiniz.

Yaygın hata: Birçok geliştirici, yalnızca birkaç sütuna ihtiyaç duydukları halde SELECT * kullanır. Her zaman ihtiyacınız olan sütunları belirtin.

Dördüncü Adım: Yük Testi ve Trafik Simülasyonu

Bazen yavaşlık yalnızca yoğun trafik zamanlarında meydana gelir. Simülasyon için ab (Apache Bench) veya siege aracını kullanın. ab ile örnek:

ab -n 1000 -c 50 https://example.com/

Bu komut, 50 eşzamanlı bağlantıyla 1000 istek gönderir. Requests per second ve Time per request çıktılarına dikkat edin. Saniyedeki istek sayısı 10'dan azsa, sunucunuz veya kodunuz yüksek trafik için tasarlanmamıştır.

Not: Hazır olmadığınız sürece yük testini ana sunucuda yapmayın. Bir test sunucusu veya Stage ortamı kullanın.

Beşinci Adım: Çevrimiçi Araçlar ve Nihai Raporlama

Genel bir bakış için ücretsiz çevrimiçi araçları kullanın:

  • GTmetrix veya PageSpeed Insights: Bu araçlar hız puanı ve optimizasyon önerileri (görsel sıkıştırma, tarayıcı önbelleği gibi) sunar.
  • Pingdom Tools: Sayfanın tam yüklenme süresini farklı konumlardan gösterir.
  • WebPageTest: Her isteğin ayrıntılı dökümünü (Waterfall Chart) sağlar.

Bu araçlar, sorunun istemci tarafında mı (örneğin, büyük JavaScript dosyaları) yoksa sunucu tarafında mı olduğunu söyler.

Sonuç: Özet ve Sonraki Adımlar

Yavaş site sorununu gidermek sistematik bir yaklaşım gerektirir. Ağı (Ping ve DNS), ardından sunucuyu (kaynaklar ve yapılandırma) ve son olarak kod ile veritabanını inceleyerek sorunun kaynağını tam olarak bulabilirsiniz. Yeni bir sorun durumunda geri dönebilmek için her zaman değişikliklerinizin bir kaydını tutmayı unutmayın.

Bu adımlardan sonra hala sorun yaşıyorsanız, barındırma planınızı yükseltmeniz veya CDN gibi optimize edici hizmetler kullanmanız gerekebilir. ServerNet gibi şirketler, bu süreçte size yardımcı olabilecek teknik destekli barındırma hizmetleri sunar. Ancak hiçbir çözümün kod ve veritabanı optimizasyonunun yerini alamayacağını unutmayın.

Son olarak, yeni sorunların oluşmasını önlemek için site hızınızı düzenli olarak (örneğin, haftada bir) çevrimiçi araçlarla kontrol edin. Hızlı bir site, mutlu kullanıcılar ve daha iyi bir SEO sıralaması anlamına gelir.

ServerNet Destek

ServerNet mühendislik ve yayın ekibi — altyapı, ağ ve web barındırma uzmanları.

İletişim
Paylaş:

Yorumlar 0

Henüz yorum yok — ilk siz olun!

Yorum bırakın