Bir projenin kaç çekirdeğe ve ne kadar belleğe ihtiyaç duyduğu, paket listesine bakarak değil, o sunucuda aynı anda ne çalışacağına bakarak bulunur. Aynı yapılandırma tek sayfalık bir tanıtım sitesinde fazlasıyla geniş kalırken, veritabanı ve arka plan görevleri aynı makinede duran bir uygulamada dar gelebilir. Herkes için geçerli tek bir doğru yapılandırma yoktur; hesap her projede…
Bir projenin kaç çekirdeğe ve ne kadar belleğe ihtiyaç duyduğu, paket listesine bakarak değil, o sunucuda aynı anda ne çalışacağına bakarak bulunur. Aynı yapılandırma tek sayfalık bir tanıtım sitesinde fazlasıyla geniş kalırken, veritabanı ve arka plan görevleri aynı makinede duran bir uygulamada dar gelebilir. Herkes için geçerli tek bir doğru yapılandırma yoktur; hesap her projede yeniden kurulur ve sayı, iş yükünün kendisinden çıkar.
İşe yarayan yöntem tek bir toplam aramak yerine üç kaynağı ayrı ayrı ölçmektir: çekirdek, bellek ve disk. Bu üçü birbirinin yerine geçmez. Biri tükendiğinde sunucu diğer ikisinin bolluğundan yararlanamaz, çünkü darboğaz her zaman önce biten kaynağın davranışını gösterir.
Kaynak planını sadeleştiren ilk fikir şudur: hangi kaynağın önce biteceği, sunucunun nasıl bozulacağını da belirler. Çekirdek yetersizliği işi yavaşlatır, bellek yetersizliği işi durdurur, disk yetersizliği ise veriyi riske atar. Belirtiden nedene giden bu ayrım, satın alma öncesinde neyi ölçeceğinizi netleştirir.
|
Kaynak |
Yetersiz kaldığında görülen davranış |
Satın almadan önce sorulacak soru |
|---|---|---|
|
Çekirdek |
İşler sıraya girer, yoğun anlarda yanıt süreleri esner, yük düşünce sistem kendine gelir |
Aynı anda kaç bağımsız iş çalışacak |
|
Bellek |
Süreç beklenmedik biçimde kapanır ya da sistem diske taşma yaparak sert biçimde yavaşlar |
Tepe anında toplam bellek tüketimi ne olur |
|
Disk kapasitesi |
Yazma işlemleri başarısız olur, günlük kayıtları ve yedekler tutulamaz |
Veri birkaç ay içinde ne hızda büyür |
|
Disk hızı |
İşlemci boşta beklerken uygulama yavaş çalışır |
Sık okuma yazma yapan bir bileşen var mı |
|
Ağ |
Aktarım tepe anlarında sıkışır |
Eşzamanlı aktarım ihtiyacı ne kadar |
Ağ tarafında bakılacak bilgi paketin bağlantı kapasitesidir; Saganetwork sanal sunucularında port 1 Gbps olarak belirtilir. Bu bir hız vaadi değil, bağlantının üst sınırıdır ve aktarım yoğun projelerde hesabın dördüncü ekseni olarak düşünülmelidir.
Çekirdek eklemek, birbirinden bağımsız işleri aynı anda yürütebilme kapasitesini artırır. Sunucuda yan yana duran bir web sunucusu, bir veritabanı ve zamanlanmış bir arka plan görevi varsa, çekirdek sayısı bunların birbirini bekletmeden ilerlemesini sağlar. Eşzamanlı kullanıcı sayısı arttıkça büyüyen yükler de aynı mantıkla çekirdekten fayda görür.
Buna karşılık tek bir sürecin içindeki iş sıralı yürüyorsa, o iş kaç çekirdek bulunursa bulunsun tek bir çekirdek üzerinde ilerler. Böyle bir yükte çekirdek sayısını artırmak beklenen hızlanmayı vermez; belirleyici olan çekirdek başına düşen işlem gücüdür. Satın alma öncesinde sorulacak soru bu yüzden yalnızca kaç çekirdek olduğu değil, yükün paralelleşip paralelleşmediğidir.
Bellek, üç kaynak arasında esnekliği en dar olanıdır. Çekirdek yetersizliğinde sistem yavaşlar ama çalışmayı sürdürür. Bellek bittiğinde ise işletim sistemi bir süreci kapatmak zorunda kalır veya diske taşma başlar ve performans kademeli değil ani biçimde düşer. Bu nedenle bellek ortalamaya göre değil, tepe kullanıma göre hesaplanır.
Bellek tüketimi iki parçadan oluşur. Birincisi sistemin ve servislerin açılışta tuttuğu sabit taban, ikincisi bağlantı, oturum, önbellek ve eşzamanlı işlem sayısıyla büyüyen değişken kısımdır. Taban tüketimi ölçmek kolaydır; hata çoğunlukla değişken kısmın tepe anındaki büyüklüğünü küçümsemekten doğar.
Bu listeyi çıkarmadan vds satın al adımına geçmek, paketin sonradan dar gelmesiyle biten kararların tipik başlangıcıdır. Saganetwork tarafında bellek seçenekleri 2 GB’tan 32 GB’a, çekirdek seçenekleri 2’den 6’ya kadar sıralanır; bellek tipi DDR4 ECC olarak tanımlanır. Bu aralığı okurken paket adına göre değil, kendi çıkardığınız toplama karşılık gelen satıra göre karar vermek daha güvenli bir yöntemdir.
Disk tek bir soru gibi görünse de iki ayrı hesabı içerir: ne kadar yer gerektiği ve o yere ne hızda yazılıp okunacağı. Kapasite tahmini genellikle kurulum boyutuyla yapılır, oysa alanı asıl dolduran şey zamanla biriken kısımlardır.
Hız tarafında SSD ile NVMe SSD ayrımı, çok sayıda küçük okuma yazma yapan iş yüklerinde hissedilir. Veritabanı sorguları, eşzamanlı dosya erişimi ve sık kayıt yazan uygulamalar bu ayrımın karar değiştirdiği yerlerdir. Ağırlıklı olarak bellekten çalışan ve diske seyrek dokunan bir uygulamada ise aynı fark önceliğinizi belirlemeyebilir.
Hesap ne kadar dikkatli yapılırsa yapılsın sonuçta bir tahmindir. Bu noktada yararlı olan soru, hangi yönde yanılmanın daha az zarar verdiğidir. Bellekte aşağı yanılmak süreçlerin kapanmasına, diskte aşağı yanılmak yedeklerin tutulamamasına yol açar. Çekirdekte aşağı yanılmak ise genellikle yavaşlama olarak görünür, daha erken fark edilir ve daha az veri riski taşır.
Sanal sunucu tarafında Saganetwork üç seviye tanımlar: SSD tabanlı Ekonomik VDS, yüksek çekirdekli ve bot çalıştırmaya uygun Premium VDS, yeni nesil işlemci ile NVMe SSD kullanan Performans VDS. Bu seviyeleri düz bir merdiven gibi değil, farklı darboğazlara verilen farklı cevaplar olarak okumak, kendi listenizle eşleştirmeyi kolaylaştırır.
Yükü hiç tahmin edemediğiniz bir durum varsa, sayıyı masa başında büyütmek yerine ölçülebilir bir başlangıç noktası aramak daha sağlıklıdır: uygulamanın mevcut bir ortamdaki bellek ve çekirdek kullanımı, kendi makinenizde yapılan tekil bir denemenin sonucu ya da benzer bir kurulumun gözlenen davranışı. Elinizde bu veri yoksa hesabı bellek üzerinden kurup diğer iki ekseni ona göre ayarlamak, yanılma payını yönetilebilir tarafta tutar.
Banka başvurularından burs ve yardım başvurularına, iş fikirlerinden ekonomiye kadar geniş kapsamlı içerikler sunan platform.