Panel

VPS mi VDS mi? İşlemci paylaşımını ölçerek karar verin

Sanal sunucunuzun işlemci zamanının ne kadarını komşularınız kullanıyor? steal time değerini okumayı ve ne zaman ayrılmış çekirdeğe geçmeniz gerektiğini anlatıyoruz.

VPS ile VDS arasındaki fark çoğu zaman pazarlama cümleleriyle anlatılır. Oysa farkı kendi sunucunuzda ölçebilirsiniz. Bu yazıda steal time değerini nasıl okuyacağınızı ve hangi eşikten sonra ayrılmış çekirdeğe geçmenin anlamlı olduğunu anlatıyoruz.

Steal time nedir

Bir sanal makinede işletim sistemi, işlemciye "çalışmak istiyorum" dediği hâlde hipervizörün o anda fiziksel çekirdeği başka bir sanal makineye verdiği süreyi steal olarak kaydeder. Yani sizin süreçleriniz hazırdır, ama sıra komşudadır.

Paylaşımlı vCPU kullanan VPS'lerde bir miktar steal normaldir. Sorun, bu değerin sürekli yüksek olması ve uygulamanızın yanıt süresine yansımasıdır.

Nasıl ölçülür

En hızlı yol top komutudur. Üst satırdaki %Cpu(s) satırının en sonundaki st değeri steal yüzdesidir:

%Cpu(s): 12.3 us,  2.1 sy,  0.0 ni, 81.9 id,  0.4 wa,  0.0 hi,  0.2 si,  3.1 st

Anlık değer yanıltıcı olabilir. Bir süre boyunca örnek almak için vmstat kullanın:

vmstat 5 120

Bu komut on dakika boyunca beş saniyede bir ölçüm alır. Son sütun (st) steal değeridir. Uzun süreli izleme için sysstat paketini kurup sar -u çıktısına bakabilirsiniz:

sudo apt install sysstat
sudo systemctl enable --now sysstat
sar -u -f /var/log/sysstat/sa$(date +%d)

Değerleri yorumlamak

  • %0–2: Paylaşımlı sunucu için olağan. Fark edilmez.
  • %2–5: Yoğun saatlerde hafif gecikme. Çoğu web uygulaması için yine kabul edilebilir.
  • %5 üzeri ve sürekli: İşlemci zamanının anlamlı bir kısmını kaybediyorsunuz. Özellikle veritabanı sorgularında ve derleme işlerinde süre uzar.

Burada önemli olan ortalama değil, uygulamanızın en çok çalıştığı saatlerdeki değerdir. Gece 03.00'teki %0 steal, öğlen 13.00'teki %8'i telafi etmez.

Ne zaman VDS

Steal'i yüksek bulduysanız önce iki şeyi kontrol edin: uygulamanız gerçekten işlemciye mi bağlı, yoksa disk veya ağ beklemesi mi yaşıyor? wa (I/O wait) değeri yüksekse sorun işlemcide değildir.

İşlemci gerçekten darboğazsa ve steal sürekli %5'in üzerindeyse, ayrılmış çekirdekli bir VDS aynı çekirdek sayısında daha tutarlı sonuç verir. VDS'te çekirdekleriniz CPU pinning ile yalnızca size ayrılır; steal değeri pratikte sıfıra iner.

Kısa kontrol listesi

  1. vmstat 5 120 ile yoğun saatte örnek alın.
  2. st sütununun ortalamasına ve tepe değerlerine bakın.
  3. wa değerini kontrol edin; yüksekse disk tarafını inceleyin.
  4. Uygulama yanıt sürelerinizi (ör. p95) aynı zaman aralığıyla karşılaştırın.
  5. Steal ile yanıt süresi birlikte artıyorsa ayrılmış çekirdeği değerlendirin.

Bu yazıyla ilgili hizmetler

  • VPS sunucu Paylaşımlı vCPU, ayrılmış bellek. Geliştirme, küçük uygulamalar ve VPN için.
  • VDS sunucu Size ayrılmış fiziksel çekirdekler. Komşu yükünden etkilenmeyen performans.

İlgili yazılar