
Yeni bir sunucu teslim aldığınızda ilk yapılması gereken şeylerden biri, gerçekten ne aldığınızı ölçmektir. Teklifte yazan özellikler ile pratikte elde ettiğiniz performans her zaman örtüşmez — özellikle disk ve ağ tarafında.
Bu rehber, fiziksel sunucularda performans ölçümünü ve sonuçların doğru yorumlanmasını anlatıyor.
Neden Ölçmeli?
- Teslim doğrulaması. Aldığınız donanım, sipariş ettiğiniz özellikleri gerçekten sunuyor mu?
- Referans çizgisi oluşturma. Sunucu yeniyken ölçtüğünüz değerler, ileride "yavaşladı mı" sorusunu cevaplamanızı sağlar. Bu referans olmadan yavaşlama iddiası bir histen ibarettir.
- Darboğaz tespiti. Hangi bileşen sınırlayıcı?
- Karşılaştırma. İki sağlayıcı veya iki yapılandırma arasında somut kıyas.
İkinci madde en değerlisidir ve en çok atlanır: sunucu yeniyken ölçüm yapmazsanız, bir yıl sonra karşılaştıracak veriniz olmaz.
Dört Alan
1. İşlemci
İki ayrı ölçüm gerekir ve karıştırılmamalıdır:
- Tek çekirdek performansı. Tek iş parçacıklı iş yükleri (oyun sunucusu, bazı uygulama işlemleri) için belirleyicidir.
- Çok çekirdek performansı. Paralel iş yükleri (web sunucusu, derleme, sanallaştırma) için belirleyicidir.
Bu ayrımı yapmadan alınan bir "CPU puanı" yanıltıcıdır: çok çekirdekli bir sunucu toplam puanda öndeyken, tek çekirdek performansında geride olabilir.
2. Bellek
Bant genişliği ve gecikme ölçülür. Bellek performansı çoğu iş yükünde darboğaz değildir — ancak ölçüm, beklenen hızda çalışıp çalışmadığını doğrular. Yanlış yapılandırılmış bellek modülleri beklenenin altında çalışabilir.
3. Disk
En kritik ve en yanıltıcı ölçüm alanıdır. Dört farklı metrik vardır ve hangisinin önemli olduğu iş yükünüze bağlıdır:
| Metrik | Neyi ölçer | Kimin için önemli |
|---|---|---|
| Sıralı okuma/yazma | Büyük dosya aktarımı | Medya, yedekleme |
| Rastgele okuma/yazma | Küçük, dağınık işlemler | Veritabanı, web sunucusu |
| IOPS | Saniyedeki işlem sayısı | Veritabanı |
| Gecikme | Tek işlemin süresi | Etkileşimli uygulamalar |
Pazarlama malzemelerinde genellikle sıralı hızlar öne çıkarılır çünkü en yüksek sayılar oradadır. Oysa bir veritabanı için asıl önemli olan rastgele işlem performansı ve gecikmedir — ve o değerler çok daha düşüktür.
4. Ağ
- Bant genişliği. Gerçekten port hızına ulaşabiliyor musunuz?
- Gecikme. Hedef kitlenizin bulunduğu yerlerden ölçün.
- Kararlılık. Gecikme ne kadar dalgalanıyor? Ortalamadan daha önemli olabilir.
- Paket kaybı. Düşük gecikmeyle birlikte paket kaybı, yüksek gecikmeden kötü bir deneyim üretir.
Ölçüm Tuzakları
Yanlış yapılan bir ölçüm, hiç ölçmemekten kötüdür çünkü yanlış karara yol açar.
Önbellek Yanılgısı
Disk testi yaparken, test dosyası bellekteki önbelleğe sığarsa ölçtüğünüz şey disk değil bellek hızıdır — ve gerçekçi olmayan yüksek sonuçlar alırsınız.
Çözüm: test dosyası boyutunu, sunucunun belleğinden belirgin biçimde büyük seçin.
Tek Seferlik Ölçüm
Tek bir ölçüm, o anki koşulları yansıtır. Arka planda çalışan bir görev sonucu bozabilir. Testi birkaç kez tekrarlayın ve tutarlılığa bakın.
Yanlış İş Yükü Profili
Sıralı okuma testi yapıp "diskim çok hızlı" sonucuna varmak, veritabanı çalıştıracaksanız yanıltıcıdır. İş yükünüze benzeyen bir profille test edin.
Üretim Ortamında Test
Performans testleri kaynak tüketir ve canlı hizmeti etkiler. Testleri sunucu üretime alınmadan önce veya bakım penceresinde yapın.
Sentetik Testin Sınırı
Sentetik testler bileşen performansını ölçer ama uygulamanızın performansını göstermez. En anlamlı test, gerçek uygulamanızı gerçek iş yüküyle çalıştırmaktır.
Uygulama Seviyesi Test
Sentetik ölçümlerden sonra asıl soruyu cevaplayın: bu sunucu benim uygulamamla kaç eşzamanlı kullanıcı taşır?
Yük testi yaparken dikkat edilecekler:
- Gerçekçi senaryo kurun. Yalnızca ana sayfayı test etmek, gerçek kullanımı yansıtmaz. Ziyaretçilerin gerçekten gezdiği yolu taklit edin.
- Kademeli artırın. Yükü yavaşça yükseltip kırılma noktasını bulun — sistemin hangi eşikte bozulmaya başladığını görmek, tek bir yüksek yük denemesinden değerlidir.
- Yanıt süresi dağılımına bakın. Ortalama yanıltıcıdır; en yavaş isteklere bakın. Ortalama iyi görünürken kullanıcıların bir kısmı çok kötü deneyim yaşıyor olabilir.
- Hata oranını izleyin. Sistem yavaşlamakla kalmıyor, hata da veriyor mu?
- Kaynak metriklerini eşzamanlı kaydedin. Kırılma anında hangi kaynak doluydu? Darboğazı bu şekilde tespit edersiniz.
Referans Çizgisini Saklayın
Ölçüm sonuçlarını bir dosyaya kaydedin: tarih, sunucu, yapılandırma ve elde edilen değerler.
Bu kayıt üç durumda işinize yarar:
- "Sunucu yavaşladı" iddiasını doğrulamak. Aynı testi tekrarlayıp karşılaştırırsınız. Referans yoksa tartışma öznel kalır.
- Donanım değişikliğinin etkisini ölçmek. Disk yükselttiniz, gerçekten ne kadar fark etti?
- Yapılandırma değişikliğini doğrulamak. Veritabanı ayarını değiştirdiniz, kazanç gerçek mi?
Ne Zaman Ölçmeli?
- Sunucu teslim alındığında — teslim doğrulaması ve referans çizgisi
- Üretime almadan önce — kapasite tespiti
- Donanım değişikliğinden sonra — kazancı doğrulama
- Önemli bir yapılandırma değişikliğinden sonra
- Performans şikayeti geldiğinde — referansla karşılaştırma
- Büyük bir trafik dönemi öncesinde — kapasite doğrulaması
Sonuç
Performans ölçümünde en değerli çıktı, sunucunun ne kadar hızlı olduğu değil — bir referans çizgisine sahip olmanızdır. Sunucu yeniyken yapılan ölçüm, ileride her performans tartışmasını öznellikten çıkarır. Ölçerken iş yükünüze uygun profili seçin: veritabanı çalıştıracaksanız sıralı hız değil rastgele işlem performansı ve gecikme önemlidir. Ve sentetik testlerden sonra asıl soruyu cevaplayın — gerçek uygulamanız bu sunucuda kaç kullanıcı taşıyor?
Sıkça Sorulan Sorular (SSS)
Hangi metriği ölçmeliyim?
İş yükünüze göre değişir. Veritabanı için rastgele okuma/yazma performansı ve gecikme; medya sunucusu için sıralı hız ve bant genişliği; oyun sunucusu için tek çekirdek performansı ve ağ gecikmesi. Yanlış metriği ölçmek, yanlış sonuca varmaya yol açar.
Disk testim çok yüksek sonuç verdi, doğru mu?
Test dosyası bellekteki önbelleğe sığdıysa hayır — ölçtüğünüz şey disk değil bellek hızıdır. Test dosyası boyutunu sunucunun belleğinden belirgin biçimde büyük seçin ve testi tekrarlayın.
Canlı sunucuda test yapabilir miyim?
Performans testleri kaynak tüketir ve hizmeti etkiler. Mümkünse sunucuyu üretime almadan önce test edin. Zorunluysa bakım penceresinde ve düşük yoğunluk saatinde yapın.
Referans çizgim yok, ne yapmalıyım?
Bugün oluşturun. Şu anki değerleri kaydetmek, hiç veriye sahip olmamaktan iyidir — bundan sonraki değişiklikleri en azından bu noktadan karşılaştırabilirsiniz. Ayrıca sunucu yeniyken ölçüm yapmayı bir alışkanlık hâline getirin.