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
- KPanel oturumunu açın.
- Sol kenar çubuğunda Websites (Web Siteleri) öğesine tıklayın, ardından siteye tıklayın.
- 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.

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
| Ayar | Aralık | Yapması |
|---|---|---|
| Min instances (En az örnek) | 1 ila 16 | Alt 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 99 | Bu değerin üzerindeki ortalama CPU bir örnek ekler |
| Scale down at CPU % (CPU % cinsinden ölçeği azalt) | 1 ila 95 | Bu 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
- Site Performance and APM: CPU'nun gerçekten darboğaz olup olmadığını görmek için.
- Site Uptime Monitoring: ölçeklendirmenin gerçekten kullanılabilirliği geliştirip geliştirmediğini doğrulamak için.
- Cron Jobs: tam olarak bir kez çalışması gereken planlanan iş için.
- Resizing a Cloud Server: daha fazla örnek yerine daha büyük bir makineye ihtiyacınız varsa.