X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

₺ Türk Lirası $ US Dollar
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

₺ Türk Lirası $ US Dollar

Sunucu Optimizasyonu Nasıl Güvenli Yapılır?

AnasayfaYazılarTeknik RehberlerSunucu Optimizasyonu Nasıl Güvenli ...

Sunucu optimizasyonu, tüm ayarları rastgele yükseltmek değil, belirli bir iş yükünde darboğaz oluşturan kaynağı ölçüp yalnızca onu düzeltmektir. Yönetici erişimi olan Linux VPS veya fiziksel sunucuda önce zaman eşleşmeli sistem ve uygulama verilerini toplayın; ardından CPU, bellek, disk veya ağ kaynaklarından hangisinin sınırlayıcı olduğunu belirleyin. Değişiklikten önce mevcut değeri kaydedin ve her seferinde yalnızca bir ayarı değiştirin.

Sunucu optimizasyonu öncesinde kapsamı belirleyin

Bu işlem, işletim sistemi ve servis ayarlarına erişilebilen yönetilen ya da kendi yönettiğiniz bir sunucu için uygundur. Paylaşımlı hosting kullanıyorsanız çekirdek, PHP çalışanı, veritabanı veya disk önbelleği gibi ayarları genellikle değiştiremezsiniz; panelde sunulan kaynak kullanım ekranı ve uygulama ayarlarıyla sınırlı kalmanız gerekir. Yönetici erişiminiz yoksa sistem ayarı değiştirmek yerine sağlayıcıdan zaman damgalı kaynak ve hata kayıtlarını istemek daha güvenlidir.

Önce sorunun ne zaman ve hangi işlemde oluştuğunu yazın: tüm sitenin yavaşlaması, yalnızca veritabanı sorgularının gecikmesi, yükleme sırasında hata alınması veya belirli saatlerde bağlantı kopması farklı inceleme yolları gerektirir. Beklenen sonucu da tanımlayın; örneğin amaç daha yüksek eşzamanlı istek sayısı değil, aynı isteklerin daha az beklemesi olabilir.

Darboğazı kanıtla ayıran inceleme sırası

  1. Ölçüm zamanını sabitleyin. İşletim sisteminin izleme ekranında veya sağlayıcının grafiklerinde CPU kullanımı, kullanılabilir bellek, disk bekleme süresi, disk doluluk oranı ve ağ trafiğini aynı zaman aralığında inceleyin. Sorun anında CPU sürekli doluysa işlemci veya çalışan servisler öne çıkar; CPU düşükken disk bekleme süresi yükseliyorsa işlemciyi artırmak yerine depolama işlemlerini araştırın.
  2. Uygulama ve servis kayıtlarını eşleştirin. Web sunucusu, uygulama çalışma ortamı ve veritabanına ait hata günlüklerinde aynı dakikadaki yeni satırları bulun. “Bellek yetersiz” veya işlem sonlandırılması görülüyorsa bellek baskısını; bağlantı havuzunun dolduğunu belirten kayıtlar varsa istemci sayısı ya da havuz sınırını inceleyin. Tek bir hata satırını bütün sorunun kanıtı saymayın; sistem grafiğiyle aynı olayı doğrulayın.
  3. En dar kaynağı seçin. Kullanılabilir bellek azalıyor ve takas alanı etkin biçimde kullanılıyorsa önce uygulamanın bellek tüketimini, çalışan sayısını ve önbellek boyutunu değerlendirin. Buna karşılık bellek rahat, fakat disk bekleme yüksekse geçici dosyalar, yoğun günlük yazımı veya veritabanı sorgularının depolama erişimi oluşturup oluşturmadığını kontrol edin. Kaynakların hepsi normal görünüyorsa ağ gecikmesi, dış API yanıtı veya uygulama içi kilitlenme gibi sunucu dışı beklemeleri ele alın.
  4. Tek ve geri alınabilir bir değişiklik yapın. Örneğin belirli bir servis gereğinden fazla çalışan süreç açıyor ve kayıtlar bellek baskısını doğruluyorsa, servis yöneticisinin ilgili çalışan veya eşzamanlılık ayarındaki değeri kontrollü biçimde azaltın. Mevcut değeri ve değişiklik saatini kaydedin; tüm sistemin bellek, işlemci ve istek kuyruğu üzerindeki etkisini izleyin. Aynı anda çekirdek, veritabanı ve önbellek ayarlarını değiştirmek hangi düzeltmenin işe yaradığını belirsizleştirir.
  5. Aynı işlemi yeniden çalıştırarak doğrulayın. Değişiklikten sonra daha önce sorun çıkaran aynı URL, görev veya rapor işlemini benzer koşullarda tekrarlayın. Yeni zaman aralığına ait uygulama günlüğünde aynı hata oluşmamalı, sistem grafiğinde seçilen darboğaz kötüleşmemeli ve istek kuyruğu kabul edilebilir düzeyde kalmalıdır. Sorun sürüyorsa yeni kaydı önceki kayıtla karşılaştırın; hata türü değiştiyse ilk sınıra değil yeni bulguya göre ilerleyin.

Ölçüm sonucuna göre düzeltmeyi seçin

CPU kullanımı tek çekirdekte sürekli yükseliyor, fakat bellek ve disk beklemesi düşük kalıyorsa gereksiz eklenti veya pahalı uygulama işlemlerini belirleyin; mümkünse sorgu ve kod profillemesi yapın. CPU tüm çekirdeklerde dolu, istek kuyruğu da büyüyorsa yalnızca zaman aşımını artırmak sorunu çözmez; iş yükünü azaltmak, uygulama süreçlerini uygun sınırda tutmak veya kapasite planını yeniden değerlendirmek gerekir.

Bellek baskısı doğrulanırsa önce hangi servis veya işlemin büyüdüğünü belirleyin. Sabit bir servis tüketimi varsa yapılandırma ve sürüm değişikliklerini inceleyin; ani artış yalnız belirli bir istekten sonra oluyorsa uygulama davranışına bakın. Takas alanını sınırsız bir bellek yerine koymayın: yoğun takas kullanımı disk gecikmesini yükseltebilir. Düzeltme sonrasında bellek kullanımının düşmesi tek başına yeterli değildir; uygulamanın aynı işlevi hatasız tamamladığını da doğrulayın.

Disk doluluğu yüksekse yalnızca dosya silmeyin. Hangi günlük, geçici veri veya yedekleme işleminin alanı tükettiğini ve saklama politikasının ne olduğunu kontrol edin; önemli verilerin yedeği ve geri yükleme planı olmadan temizlik yapmayın. Disk beklemesi yüksekken doluluk normal ise depolama erişim desenini, veritabanı sorgularını ve yoğun yazan servisleri inceleyin. Ağ trafiği sınırına yaklaşılıyorsa sıkıştırma, önbellekleme veya trafik planı değerlendirilebilir; fakat bağlantı kapasitesini artırmak dış servisin yavaş yanıtını düzeltmez.

Hipotetik örnek: aynı belirti, farklı düzeltme

Diyelim ki bir e-ticaret uygulamasında akşam saatlerinde yanıtlar uzuyor. Ölçüm sırasında CPU yüzde olarak yüksek, bellek dengeli ve disk beklemesi düşük; uygulama kayıtları da ürün arama sorgularının uzadığını gösteriyor. Bu durumda çalışan sayısını artırmak yerine sorgu planını, eksik veritabanı indekslerini ve arama isteğinin gereksiz veri çekip çekmediğini incelemek daha mantıklıdır. Eğer ayrı bir ölçümde CPU rahatken disk beklemesi yükselirse, önceki karar geçerli sayılmaz; bu kez sorgu yazma davranışı veya depolama erişimi hedeflenir.

Değişiklik işe yaramazsa güvenli geri dönüş

Yeni hata veya daha uzun kuyruk oluşursa değiştirdiğiniz tek ayarı kaydettiğiniz önceki değere geri alın ve aynı başarısız işlemi yeniden çalıştırın. Sorun geri dönüşten sonra düzeliyorsa ayar ile belirti arasında güçlü bir ilişki vardır; yapılandırmayı kalıcılaştırmadan önce daha düşük bir değişiklik aralığı veya uygulama düzeltmesi değerlendirin. Sorun sürüyorsa eski ayarı geri bırakıp yeni zaman damgalı kayıtları sağlayıcının yöneticisiyle paylaşın. Sunucu kiralama çözümleri incelenirken de ölçüm erişimi, yönetim sorumluluğu ve iş yükünüzün kaynak profili birlikte değerlendirilmelidir.

İlk güvenli sonraki adım, sorunun görüldüğü bir zaman aralığını seçip CPU, bellek, disk beklemesi ve ilgili uygulama kaydını aynı dakikalar için karşılaştırmaktır. Böylece ayar değiştirmeden önce hangi kaynağın gerçekten sınırlayıcı olduğunu bilirsiniz.


Top