Web Siteleri

Node.js Uygulamasını Ölçeklendirme ve Otomatik Ölçeklendirme

Auto-scaling grows and shrinks the number of instances running your Node.js app as CPU load changes, so busy periods get more capacity and quiet periods cost less. This guide covers the KPanel tab…

Auto-scaling, çalışan Node.js uygulamanızın örnek sayısını CPU yükü değiştikçe büyütüp küçültür; böylece yoğun dönemler daha fazla kapasite alır ve sessiz dönemler daha az maliyetlidir. Bu kılavuz KPanel sekmesini, her ayarı, neyin faturalandırıldığını ve bir uygulamayı ölçeklendirme için güvenli hale getirmeyi kapsar.

Ölçeklendirmenin KPanel'de Nerede Olduğu

  1. KPanel oturumunu açın.
  2. Sol kenar çubuğunda Websites (Web Siteleri) öğesine tıklayın, ardından siteye tıklayın.
  3. Sitenin sekme şeridinde Advanced (Gelişmiş) öğesini açın, sonra Scaling (Ölçeklendirme).

Doğrudan adres /websites/<site-id>/autoscale'dir. Eski /websites/<site-id>/scaling adresi hâlâ çalışır ve sizi aynı yere yönlendirir.

KPanel'de bir Node.js uygulaması için otomatik ölçeklendirme ayarları

Sekme yalnızca Node.js sitelerinde görünür. WordPress, WooCommerce, statik, PHP, Python veya Ruby sitesi için menüde yer almayacaktır; çünkü mekanizm bir Node.js işlem kümesini ölçeklendirir.

Bir Sekme, Bir Yapılandırma

KPanel önceden burada iki sekmeyi, Scaling ve Autoscale'i, bir dizi ayar üzerinde taşıyordu. Bunlar aynı yapılandırmanın iki görünümüydü ve bu da yalnızca kaybolmak için bir yoldu; bu nedenle şimdi tek bir Scaling sekmesidir: canlı durum, ayarlar, son ölçeklendirme etkinlikleri ve geçerli fatura dönemi için kullanım ve maliyet paneli, tümü tek bir yerde.

Nasıl Çalışır

Uygulamanız bir işlem kümesi olarak çalışır. Otomatik ölçeklendirme, çalışan örnekler genelindeki ortalama CPU'yu izler ve belirlediğiniz eşiklere göre örnekleri ekler veya kaldırır.

Küme modu gereklidir. Uygulamanız zaten küme modunda çalışmıyorsa, otomatik ölçeklendirmeyi etkinleştirmek bunu sizin için geçiştirir; bu kısa bir yeniden başlatmayı içerir. Sayfa bunu ne zaman yaptığını söyler.

Canlı Durumu Okuma

Durum kartı üç şey gösterir:

  • Instances (Örnekler): şu anda kaç tane çalışıyor.
  • Avg CPU (Ortalama CPU): bu örnekler genelinde ortalama CPU.
  • Cluster (Küme): uygulama küme modunda olup olmadığı. Hayır derse, otomatik ölçeklendirmeyi etkinleştirmek bunu geçiştirir.

Uygulama hiç çalışmıyorsa, kart bunun yerine sıfır göstermek yerine bunu söyler.

Sekme ayrıca Last scale (Son ölçeklendirme), en son ölçeklendirme etkinliğinin zamanını veya never (hiçbir zaman) gösterir.

Ayarlar

AyarAralıkYapması
Min instances (En az örnek)1 ila 16Alt sınır. Asla bunun altına ölçeklenmez
Max instances (En fazla örnek)1 ila 16Üst sınır. Asla bunun üstüne ölçeklenmez
Scale up at CPU % (CPU % cinsinden ölçeği artır)5 ila 99Bu değerin üzerindeki ortalama CPU bir örnek ekler
Scale down at CPU % (CPU % cinsinden ölçeği azalt)1 ila 95Bu değerin altındaki ortalama CPU bir örneği kaldırır
Cooldown (sec) (Soğutma (sn))30 ila 3600Ölçeklendirme işlemleri arasındaki minimum bekleme

Ana anahtar, ayarlar kartı başlığındaki geçiştir anahtarıdır. Otomatik ölçeklendirme kapalıyken, ayarlar soluklaşır ve uygulamanız geçerli örnek sayısında kalır.

Makul başlangıç değerleri:

  • En az 1 veya 2 örnek. Tek bir örneğin yeniden başlatılması uygulamayı çevrimdışı almaya tolerans gösteremiyorsanız iki.
  • En fazla örnek, zirve noktasında ödemeye istekli olduğunuz kısım, tavanı değil.
  • CPU'nun yaklaşık yüzde 70'i civarında ölçeği artırın. Asla kullanmadığınız karmaşıklık için ödeme yapmamanız kadar yüksek, istekler sıraya girmeye başlamadan önce kapasite ekleme zamanı olacak kadar düşük.
  • CPU'nun yaklaşık yüzde 30'i civarında ölçeği azaltın. İki eşik arasında geniş bir boşluk bırakın.
  • Birkaç dakikalık soğutma. Bu en çok takdir edilmeyen ayardır.

İki CPU eşiğini yakın bir yere koymak titremeye neden olur: küme ölçeği artırır, yük şimdi daha geniş şekilde yayıldığı için hemen ölçeği azaltma eşiğinin altına düşer, ölçeği azaltır, yeniden artar ve tekrarlanır. Geniş bir boşluk tutun ve cömert bir soğutma kullanın. Titremek paraya mal olur ve uygulamayı istikrarsız hale getirir.

Ölçeklendirme Etkinlikleri

Sekme son ölçeklendirme etkinliklerini listeler, en yeniden başlayarak, her biri yönü, öncesi ve sonrası örnek sayısı, onu tetikleyen CPU okumasını ve zamanı gösterir.

Bu, uygulama kötü davranıştığında okunacak günlüktür. Birkaç dakika içinde bir seri yukarı ve aşağı etkinliği, eşiklerinizin çok yakın olması veya soğutmanızın çok kısa olması anlamına gelir. Asla geri gelmeyen tek bir ölçek artışı, yükün yüksek kaldığı anlamına gelir; bu yapılandırma sorusu değil, kapasite sorusudur. Bazılarını beklediğinizde hiç olay olmamak, CPU'nun bir eşikten asla geçmediği veya otomatik ölçeklendirmenin kapalı olduğu anlamına gelir.

Otomatik Ölçeklendirmenin Maliyeti

Planınızın temel tahsisinin üzerindeki örnekler saniyeye göre sayılır ve faturalandırılır. Sekme, geçerli dönem için gösterir:

  • Kullanılan örnek süresi, saat ve dakika cinsinden, bunun altında ham örnek saniye.
  • Bu dönemde şimdiye kadar harcanan, para cinsinden.
  • Ayın sonunda öngörülen, şimdiye kadar kullanımdan tahmin edilen.
  • İzleme, toplam kaydedilmiş olanların dışında kaç kullanım penceresi faturalandırıldığı.
  • Dönem ilerlemesi, ayda geçen günler dışında gün sayısı.

Saniye başına hız, aynı panelin üstünde gösterilir, bu nedenle faturalandırılan rakam her zaman onu uyguladığı kullanımın yanında görülür.

Projeksiyon izlenecek sayıdır. Şimdiye kadar kullandığınızdan tahmin eder; bu nedenle ayın başlarında alışılmadık derecede yoğun bir hafta, bunu abartır. Birkaç gün içine girin, ardından ay ortasında tekrar, sonuçlara varmadan önce. Beklediğinizden yüksekse, ölçek artırma eşiğini artırmak yerine maksimum örnek sayısını düşürün: tavan sabit bir sınırdır, eşik yalnızca bir ipucudur.

Minimum değere ölçeklendirmeyi azaltmak sayımı durdurur. Otomatik ölçeklendirmeyi tamamen kapatırsanız, uygulama şu anda ne olursa olsun örnek sayısında kalır; bu nedenle maliyet açısından kapatmayı tercih ediyorsanız önce bunu minimuma düşürün.

Bir Uygulamayı Ölçeklendirme için Güvenli Hale Getirme

Sayfa bir uyarı taşır ve bu sayfa üzerindeki en önemli şeydir: Node.js uygulamanızın örnekler arasında temiz bir şekilde ölçeklendirmek için küme güvenli olması gerekir.

Pratikte bu şu anlama gelir:

Bellek içi oturum durumu yok. Oturum açan bir kullanıcının oturumu bir örneğin belleğinde yaşıyorsa, bir istek farklı bir örneğe indiğinde oturumu kapatılır. Oturumları paylaşılan bir depo taşıyın.

Doğruluk için güvendiğiniz bellek içi önbellek yok. Her örneğin kendi örneği vardır. Tutarlı olması gereken bir önbelleğin paylaşılması gerekir.

Geri okumayı beklediğiniz yerel dosya sistemi yazmaları yok. Bir örnek tarafından yerel diske yazılan yüklemeler diğerlerine görünmez. Paylaşılan depolama alanına yazın.

Korunmasız planlanan iş yok. Uygulama içinde bir zamanlayıcı çalışıyorsa, her örnek bunu çalıştırır; bu nedenle dört örnek noktasında gece yarısı işi dört kez çalışır. Planlanan işi bir cron işine taşıyın veya bir kilitles koruyun. Bkz. Cron Jobs.

Örnek sayısının sabit olduğu varsayımı yok. İşi örnek dizini ile bölüştüren her şey, sayı değişir değişmez bozulur.

Bunlardan biri uygulamanız için geçerliyse, otomatik ölçeklendirmeyi etkinleştirmeden önce bunları düzeltin. Küme güvenli olmayan bir uygulama başarısız olur; bu aralıklı ve yeniden üretilmesi zor yollarda, çünkü hangi örneğin hangi isteği yaptığına bağlıdır.

Sorun Giderme

Geçişi etkinleştiremiyorum. Etkinleştirmek için site yazma izni gerekir. Salt okunur rolde denetimler devre dışı bırakılır.

Otomatik ölçeklendirmeyi etkinleştirdiğimde uygulama yeniden başlatıldı. Bekleniyor. Küme moduna geçmek yeniden başlatma gerektirir ve bu bir kez olur.

Kullanıcılar rastgele oturumu kapatılıyor. Klasik küme güvenli olmayan semptom. Oturumlar bellektedir ve istekler farklı örneklere iniyor.

Örnekler ölçeği artırdı ve asla geri gelmedi. Ya yük ölçek azaltma eşiğinin üzerinde kaldı ya da bir şey trafiğin bağımsız olarak CPU'yu yüksek tutuyor. Etkinlik listesini kontrol edin ve uygulamanın gerçekte ne yaptığına bakın.

Planlanan bir iş birkaç kez çalıştı. Her örnek bunu çalıştırdı. Bunu bir cron işine taşıyın veya bir kilit ekleyin.

Hiçbir şey ölçeklenmez. Geçişin açık olduğunu, uygulamanın çalıştığını ve küme modunun etkinleştirildiğini doğrulayın. Ardından CPU'nun etkinlik listesinde ölçek artırma eşiğinizi gerçekten geçip geçmediğini kontrol edin.

Maliyet beklenenden yüksek. Titremek için etkinlik listesine bakın, ardından maksimum örnek sayısını düşürün.

İlgili Sayfalar

Hala yardıma mı ihtiyacınız var?

Bize şu adresinden e-posta gönderin: support@kapsulehost.com ya da KPanel'de sohbet açın.

KPanel'i Aç
Node.js Uygulamasını Ölçeklendirme ve Otomatik Ölçeklendirme