QoS nedir; kritik vService'lere ayrı CPU/bellek kaynağı nasıl ayırırım?
Kısa cevap
QOS, vService'in çalıştığı sürece ayrılacak bellek sınırını, kullanacağı işlemci çekirdeklerini, işlemci önceliğini ve işlemci kullanım sınırını belirleyen vService ayarıdır. Kritik bir vService'e kaynak ayırmak için vService → Details → QOS işaretlenir; Memory Limit seçilir, Cores alanında Manual ile çekirdekler işaretlenir, CPU Priority High yapılır ve gerekiyorsa Cpu Usage Limit (%) girilir. QOS kapalıyken vService 2 GB bellek sınırı ve otomatik çekirdek atamasıyla çalışır. QOS HTTP ve L7 TCP vService'lerde bulunur; değişiklik vService'i yeniden başlatır.
Sorun: Kritik Servis Diğer Servislerle Kaynak Paylaşıyor
Aynı cihazda çok sayıda vService çalıştığında yoğun bir servis işlemci ve belleği tüketerek kritik servisleri yavaşlatabilir. Kritik vService'lere ayrılmış çekirdekler, yeterli bellek ve öncelik verilmesi; önemsiz servislerin ise sınırlanması istenir.
Çözüm: İki Yöntem
| Durumunuz | Uygun yöntem |
|---|---|
| Kritik vService'e arayüzden kaynak ayırmak | Yöntem 1: QOS (web arayüzü) |
| Komut satırından | Yöntem 2: WEB-CLI |
Yöntem 1: QOS (Web Arayüzü) Önerilen
- Nasıl çalışır vService ayrılan çekirdeklerde, belirlenen bellek sınırı ve öncelikle çalışır.
- Nerede açılırLoad Balancer → Load Balancer vService List → vService → Edit → Details → QOS
- Gereksinim Load Balancer tam yetkisi (yoksa QOS kutusu devre dışıdır); kayıt vService'i yeniden başlattığı için bakım penceresi
- vService tipi HTTP · L7 TCP
Adım adım yapılandırma
Load Balancer → Load Balancer vService List ekranında vService seçilip Edit tıklanır.
Memory Limit listesinden değer seçilir (1–256 GB, varsayılan 2 GB).
Cores anahtarı Automatic'ten Manual'e alınır.
vService'in çalışacağı çekirdekler işaretlenir; hiç seçilmezse form "At least one core must be selected" uyarısı verir.
CPU Priority = High seçilir (varsayılan Normal). Bu alan Cores Manual iken görünür.
Önemsiz bir vService sınırlanacaksa Cpu Usage Limit (%) girilir (1–100); boş bırakılırsa sınır yoktur. Bu alan da Cores Manual iken görünür.
Save tıklanır. vService yeniden başlar ve açık bağlantılar kapanır (Yaptığım bir değişiklik ne zaman devreye girer; kaydettiğim anda canlıya mı yansır?). Cluster'da varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile gönderilir.
Doğrulama
vService'in Load Balancer Management sekmesindeki Resources bölümünde QOS, Cores, Memory limit ve CPU priority satırlarına bakılır.
Seçilen değerlervService panosunun System sekmesinde vService CPU ve bellek kullanımı izlenir; bellek yüzdesi seçilen Memory limit'e göre hesaplanır.
Kullanım limitin altındaYöntem 2: WEB-CLI
- Nasıl çalışır QOS alanları komut satırından ayarlanır.
- Nerede açılır TR7 WEB-CLI →
lb service show·lb service update - Gereksinim WEB-CLI erişimi;
--memoryLimitbayt cinsinden listedeki değerlerden biri (ör. 4 GB = 4294967296),--cpuPrioritylow·normal·high,--cpuLimit1–100 tam sayı - vService tipi HTTP · L7 TCP
Adım adım yapılandırma
--poolCores.N güncellemede listedeki N. sıranın yerine geçer; önce mevcut liste görülür:
lb service show <vService>Komut, Cores listesi boşken (Automatic) 2 ve 3 numaralı çekirdekleri ayırır (kaynak yönetimi):
lb service update id <vService> --qos true --memoryLimit 4294967296 --poolCores.0 2 --poolCores.1 3 --cpuPriority highListede daha önce seçilmiş çekirdek varsa yazılmayan sıralar listede kalır; fazlası --poolCores.N.delete ile çıkarılır. Kayıt vService'i yeniden başlatır. Birden fazla vService için toplu güncelleme kullanılır.
Doğrulama
lb service show <vService> çıktısında ve Load Balancer Management → Resources bölümünde QOS alanlarına bakılır.
poolCores 2, 3 · cpuPriority highSık Yapılan Hatalar
- Kaydın kesintisiz olduğunu sanmak. QOS değişikliği vService'i yeniden başlatır; açık bağlantılar kapanır.
- QOS kapalıyken kaynağın sınırsız olduğunu sanmak. QOS kapalı vService de 2 GB bellek sınırı ve otomatik çekirdek atamasıyla çalışır.
- Dar sınır koymak. Düşük Memory Limit ya da Cpu Usage Limit yavaşlığa yol açar.
- Önbelleği unutmak. Önbellek boyutu vService'in bellek sınırına göre belirlenir; Memory limit küçültülünce önbellek de küçülür (TR7 üzerinde cache yapabilir miyim; varsayılan ayarlar nelerdir?).
- CPU priority'nin her zaman hızlandırdığını sanmak. Öncelik yalnızca çekirdekler için çekişme olduğunda fark yaratır.
Dokümantasyonda nasıl yapılır
