Kapasite planlaması için öneriler

Bu Azure Well-Architected Framework Performans Verimliliği denetim listesi önerisi için geçerlidir:

PE:02 Kapasite planlaması gerçekleştirme. Kullanım modellerinde tahmin edilen değişiklikler olmadan önce kapasite planlaması yapılmalıdır. Tahmin edilen değişiklikler mevsimsel değişimler, ürün güncelleştirmeleri, pazarlama kampanyaları, özel etkinlikler veya mevzuat değişiklikleridir.

Bu kılavuzda kapasite planlamasına yönelik öneriler açıklanmaktadır. Kapasite planlaması, iş yükü performans hedeflerini karşılamak için gereken kaynakları belirleme sürecini ifade eder. İş yükünün performans gereksinimlerini desteklemek için gereken CPU, bellek, depolama ve ağ bant genişliği gibi işlem kaynaklarının miktarını tahmin etmeyi içerir. Kapasite planlaması, yetersiz sağlamayı önlemeye yardımcı olur ve performans düşüşü veya performans sorunları yaşamadan iş yükünün beklenen iş yükü taleplerini işlemek için yeterli kaynağa sahip olmasını sağlar. Ayrıca fazla sağlamayı ve gereksiz maliyetleri önlemeye yardımcı olur. Kapasite planlamasının olmaması performans sorunlarına, kaynak performans sorunlarına, artan maliyetlere, verimli ayırmaya, ölçeklenebilirlik zorluklarına ve öngörülemeyen iş yükü performansına yol açabilir.

Tanımlar

Süre Tanım
Kapasite planlaması Bir iş yükünün performans hedeflerini karşılamak için ihtiyaç duyduğu kaynakları tahmin etme işlemi.
İşlev gereksinimleri Bir iş yükünün amaçlanan amacını yerine getirmesi gereken özellikler ve yetenekler.
Teknik gereksinimler İşlevsel gereksinimleri karşılamak için gereken kod ve altyapı.
Eğilim analizi Gelecekteki talebi tahmin etmek için geçmiş veri analizi.

Temel tasarım stratejileri

Kapasite planlaması, beklenen iş yükü taleplerine ve desenlerine göre kararlar almayı içeren ileriye dönük bir süreçtir. Amacı, hem sürekli hem de en yoğun yük senaryolarında iş yükü performansını iyileştirmektir. Kullanımdaki mevsimsel değişimler veya ürün sürümleri gibi değişiklikleri anlayarak kaynakları stratejik olarak ayırarak yüksek talep dönemlerinde sistem baskısını önleyebilirsiniz. Bu proaktif strateji kesintileri azaltır ve performans verimliliğini artırır. Geçmiş kullanım eğilimlerini ve büyüme verilerini analiz ederek kısa ve uzun vadeli ihtiyaçları tahmin edebilirsiniz. Olası performans sorunlarını ve ölçeklendirme sorunlarını tespit ederek tutarlı ve verimli iş yükü performansı sağlayabilirsiniz.

Kapasite verilerini toplama

İş yükü kullanım verilerinin toplanması, iş yükünün kaynakları nasıl kullandığına ilişkin bilgilerin toplanmasını ve çözümlenmesini gerektirir. Mevcut iş yükleri için geçmiş desenler ve yeni iş yükleri için tahmine dayalı ölçüler hakkında veri toplamanız gerekir. Bu süreç, iş hedeflerini teknik gereksinimlere çevirmeye yardımcı olur ve kapasite tahmini için gereklidir. Aşağıdaki önerileri gözden geçirin:

Mevcut iş yükünü anlama

Kapasite planlaması için mevcut bir iş yükünü anlamak için iş yükünün kaynakları kullanma şekliyle ilgili geçmiş verileri analiz etmek gerekir. Kaynak kullanımı, performans verileri ve iş yükü desenleri gibi ölçümleri kapsar. Bu anlayış verimli kaynak ayırmayı sağlar, iş hedeflerini teknik gereksinimlere çevirir ve olası performans sorunlarını belirlemeye yardımcı olur.

  • Verileri anlama: Kullanılabilir geçmiş verileri gözden geçirin ve kapasite planlamasının yapısını, biçimini ve ilgi düzeyini anlayın. Gözden geçirme kaynak kullanım ölçümlerini, iş yükü desenlerini, performans ölçümlerini ve diğer ilgili veri noktalarını içerebilir. İş süreçlerini ve uygulamaların kritikliğini anlama. En yüksek kullanım sürelerini, kullanıcı yükünü, işlem oranlarını ve diğer ilgili ölçümleri belirleyin.

  • Verileri temizleme ve önceden işleme: Tutarsızlıkları, hataları veya aykırı değerleri kaldırarak verileri analiz için hazırlayın. Verilerin hazırlanması, veri atama, eksik değerlerin işlenmesi veya normalleştirme gibi veri temizleme tekniklerini içerebilir.

  • Önemli ölçümleri tanımlama: Kapasite planlamasıyla ilgili ölçümleri belirleyin. Ölçümler CPU kullanımını, bellek kullanımını, ağ aktarım hızını ve yanıt sürelerini içerebilir.

  • Performans sorunlarını belirleme: İş yükü büyüdükçe performans sorunlarına neden olabilecek sisteminizin belirli bileşenlerini belirlemek için aktarım hızını ve yanıt sürelerini ölçün. Saniye başına istek sayısı ve veritabanı CPU kullanımı iyi kapasite göstergeleri olabilir.

  • Verileri görselleştirme: Geçmiş verilere ilişkin daha iyi içgörüler elde etmek için grafikler veya çizimler gibi görselleştirmeler oluşturun. Görselleştirmeler, verilerdeki desenleri, eğilimleri ve anomalileri belirlemenize yardımcı olarak iş yükü davranışını daha net anlamanıza yardımcı olabilir.

Yeni iş yükünü anlama

Kapasite planlaması için yeni bir iş yükünü anlamak, geçmiş verileri olmayan gelecekteki bir görevin kaynak gereksinimlerini tahmin etmek anlamına gelir. Geçmiş verileri olmayan yeni bir iş yükünün gelecekteki ihtiyaçlarını tahmin etmek daha zor olabilir. Bu işlem, kaynakları verimli bir şekilde ayırmanızı ve iş yükü kullanıma sunulduğunda ayırmaları iş yükü hedefleriyle uyumlu hale getirmenizi sağlar. Aşağıdaki önerileri gözden geçirin:

  • Pazar araştırması: Benzer ürün veya hizmetlere olan talebi anlamak için pazar araştırması yapmak, yeni bir iş yüküne yönelik potansiyel talep hakkında değerli içgörüler sağlayabilir. Araştırma, pazar eğilimlerini analiz etmeyi, anketler yürütmeyi veya rakip teklifleri incelemeyi içerebilir.

  • Uzman kararı: Konu uzmanları veya sektörde deneyimli profesyonellerin görüşleri, yeni iş yükü talebini tahmin etme konusunda size yardımcı olabilir. Uzmanlıkları ve içgörüleri tahmin için değerli girişler sağlayabilir.

  • Pilot projeler veya prototipler: Küçük ölçekli pilot projeler veya prototipler gerçek zamanlı veri ve geri bildirim toplamanıza yardımcı olabilir. Daha sonra bu verileri kullanarak kapasite planlama sürecini bilgilendirebilir ve tahmini talebi ayarlayabilirsiniz.

  • Dış veri kaynakları: Sektör raporları, pazar çalışmaları veya müşteri anketleri gibi dış veri kaynakları, yeni bir iş yüküne yönelik talebi tahmin etmeye yönelik ek bilgiler sağlayabilir. Bu kaynaklar müşteri tercihleri, pazar eğilimleri ve potansiyel talep etmenleri hakkında değerli içgörüler sunabilir.

Tahmini talep

Talebin tahmin edilmesi, bir hizmet veya ürünün gelecekteki gereksinimlerini tahmin etmek için iş yükü verilerinin kullanılmasını içerir. Verimli kaynak ayırmayı sağlamak, büyüme düzenlerini tahmin etmek ve talepteki olası artışlara hazırlanmak için kapasite planlaması için gereklidir. Gelecekteki talebi tahmin ederken, gelecekteki ihtiyaçların algılanması için verileri kullanırsınız. Gelecekteki talebi tahmin etmek için sahip olduğunuz verilere istatistiksel analiz, eğilim analizi veya tahmine dayalı modelleme teknikleri uygularsınız. Bu yöntemler, geçmiş veya beklenen desenleri dikkate alır ve beklenen iş yükü talebine ilişkin tahminler sağlamak için bunları geleceğe yansıtır. Talebi tahmin etmek için şu stratejileri göz önünde bulundurun:

Çeşitli senaryolar için hesap oluşturma

Kapasite planlaması yaparken, oluşabilecek farklı senaryoları planlamanız gerekir. Bu planlama hem öngörülebilir büyüme desenlerini hem de talepteki beklenmeyen artışları içermelidir. Kullanım desenleri büyüyebilir veya küçülebilir. Bunlar organik (az veya çok kullanıcı) veya inorganik (olay veya güvenlik olayı) olabilir. Kullanım değişikliği yapmadan önce, önemli zamanlarda kapasite planlaması yapmanız gerekir:

  • Tasarım (tahmin)
  • Normal ani artışlar (08:00'de oturum açma acelesi)
  • Başlatma (tahmin doğrulama)
  • İş modeli değişikliği
  • Alım veya birleştirme
  • Pazarlama gönderimi
  • Mevsimsel değişiklik
  • Özellik başlatma
  • Düzenli olarak

Tahmin tekniklerini kullanma

Bir hizmet veya ürün için gelecekteki talebi tahmin etmek için istatistiksel analiz, eğilim analizi ve tahmine dayalı modelleme gibi tekniklerin kullanılması gerekir. Bu teknikleri nasıl kullanabileceğinize genel bir bakış aşağıdadır:

  • İstatistiksel analiz: İstatistiksel yöntemler, geçmiş verilerdeki desenleri ve ilişkileri ortaya çıkarmanıza yardımcı olabilir. Gelecekteki talebi tahmin etmek için bu desenleri kullanabilirsiniz. Verilerdeki eğilimleri, mevsimselliği ve diğer desenleri belirlemek için zaman serisi analizi, regresyon analizi ve hareketli ortalamalar gibi teknikleri kullanabilirsiniz.

  • Eğilim analizi: Eğilim analizi, tutarlı desenleri belirlemek için geçmiş verileri incelemeyi ve bu desenleri geleceğe tahmin etmeyi içerir. Örneğin, iş yükü talebi geçen yıl içinde yüzde 10 arttıysa, bu eğilimin devamını tahmin edebilirsiniz. Bir süre içindeki geçmiş talep verilerini analiz ettiğinizde, büyüme veya azaltma eğilimlerini belirleyebilirsiniz. Bu eğilimleri gelecekteki talebi tahmin etmede temel olarak kullanın. Eğilim analizi, trafikte hızlı kaymalara (inorganik) neden olan tek seferlik olayların etkilerini de belirleyebilir. Örneğin, özellik sürümleri sürekli olarak talebi yüzde 5 artırabilir. Yılda dört ana sürüme sahipseniz, her seferinde yüzde 5 büyüme planlamanız gerekir.

  • Tahmine dayalı modelleme: Tahmine dayalı modelleme, gelecekteki taleplerle ilgili tahminler yapmak için geçmiş verileri ve diğer ilgili değişkenleri kullanan matematiksel modeller oluşturma işlemidir. Makine öğrenmesi algoritmaları, sinir ağları veya karar ağaçları gibi teknikleri kullanabilirsiniz. Bu modeller, daha doğru tahminler sağlamak için birden çok faktörü ve değişkeni dikkate alabilir.

Tahminleri iş yükü hedefleriyle hizalama

Tahminleri iş yükü hedefleriyle hizalamak için tahmine dayalı kapasite modellerinin belirli bir iş yükünün hedeflerine ve taleplerine uygun olduğundan emin olmak için ayarlanması gerekir. Bu hizalama, kaynakların yeterli şekilde sağlanmasını sağlayarak hem az kullanılmasını hem de olası iş yükü aşırı yüklemelerini önler. Örneğin, 1 milyon kullanıcının saniyede 1 MB dosya yüklemesi için bir API'yi desteklemeyi hedefliyorsanız ancak geçerli veriler yazma hızının yavaş olduğunu gösteriyorsa sisteminizi ayarlamanız gerekir. İş yükünün gereksinimlerini kavramak için paydaşlarla konuşmak önemlidir. Planlarınızın hizmet sağlayıcılarınızın vaatleriyle (SLA) uyumlu olduğundan emin olun. Bu hizalama, kapasitenizin beklenen talebi karşılamasını sağlar ve sistemin değişiklik gerekebilecek alanlarını belirlemeye yardımcı olur.

Kaynak gereksinimlerini belirleme

Kapasite planlaması için kaynak gereksinimlerini belirlemek, tahmin edilen talebi karşılamak için ihtiyacınız olan kaynakları değerlendirmeyi içerir. Örneğin, bir uygulama tanıtım kampanyası sırasında kullanıcılarda %50 artış bekliyorsa daha fazla bulut örneği ayırması veya artan yükü işlemek için otomatik ölçeklendirme parametrelerini ayarlaması gerekebilir.

Bir iş yükünde birçok kaynak olabileceği için kaynak gereksinimlerini belirlemek için gözlemlenen tek bir ölçüm yoktur. Anlamlı sonuçlar elde etmek için kaynak düzeyinde kapasiteyi ölçmeniz gerekir. Geçmiş verilere, pazar eğilimlerine ve iş tahminlerine göre kaynaklarınıza yönelik beklenen talebi tahmin edin. İşlem sayısını, eşzamanlı kullanıcıları veya diğer ilgili ölçümleri göz önünde bulundurun.

Tahmini talebİ temel alarak, bu talebi karşılamak için gereken kaynakları hesaplayın. Sunucu kapasitesi, ağ bant genişliği, depolama kapasitesi ve personel gibi faktörleri göz önünde bulundurun:

  • Sunucu kapasitesi: Tahmini eş zamanlı kullanıcı veya işlem sayısına göre gerekli sunucu kapasitesini belirleyin. Sunucularınızın beklenen iş yükünü işleyebilmesini sağlamak için CPU, bellek ve disk alanı gereksinimleri gibi faktörleri göz önünde bulundurun.

  • Ağ bant genişliği: Beklenen trafik düzeyini desteklemek için ihtiyacınız olan ağ bant genişliğini değerlendirin. Sunucular ve istemciler arasında sorunsuz ve verimli bir iletişim sağlamak için hem gelen hem de giden veri aktarım hızlarını dahil etmelisiniz.

  • Depolama kapasitesi: tahmin edilen talep sırasında iş yükünün oluşturduğu veya işlediği veri miktarını tahmin edin. Veritabanı boyutu, dosya depolama gereksinimleri ve uygulamanıza özgü diğer veri depolama gereksinimleri gibi faktörleri göz önünde bulundurun.

  • Personel: Altyapıyı yönetmek ve korumak, müşteri desteğini işlemek, sistem bakımı yapmak ve sorunsuz operasyonlar sağlamak için gereken insan kaynaklarını değerlendirin. İş yükü dağıtımı, beceri kümesi ve gerekli uzmanlık gibi faktörleri dikkate alın.

Kaynak sınırlamalarını anlama

İş yükünüzdeki kaynakların performans sınırlamaları vardır. Performans sınırlamaları her hizmet içindeki hizmetler ve SKU'lar için geçerlidir. İş yükünüzdeki kaynakların sınırlamalarını anlamanız ve bu sınırlamaları tasarım kararlarınıza katmalısınız. Örneğin, kaynak sınırlamalarının SKU'ları değiştirmenizi mi yoksa kaynakları tamamen değiştirmenizi mi gerektirdiğini bilmeniz gerekir.

Ayrıca ulaşılabilir sınırları da tanımlamanız gerekir. Bir iş yükünün maksimum eşiklerini veya sınırlarını belirlemeyi ifade eder. Bu sınırlar genellikle altyapı (işlem, bellek, depolama, ağ), uygulama (eşzamanlı veritabanı bağlantıları, yanıt süreleri, kullanılabilirlik), hizmet (saniye başına istek sayısı) ve ölçeklendirme için geçerlidir. Kapasite planlaması ulaşılabilir sınırları tanımladığında, sınır bir performans sorunu oluşturmadan önce iş yükünü değiştirmeniz gerekir. Performans temelleri, sürekli izleme ve test, sınırları ve çözümü doğrulamak için gereklidir.

Dengeleme: Yanlış değerlendirilen kapasite planlaması, kaynakların fazla sağlanmasına veya yetersiz sağlanmasına yol açabilir. Fazla sağlama, maliyetlerin daha yüksek olmasını sağlar. Yetersiz sağlama performansın düşmesine neden olabilir. Doğru dengeyi bulmaya çalışın.

Azure kolaylaştırma

Kapasite verilerini toplama ve talebi tahmin etme: Azure İzleyici , uygulamalarınızdan ve altyapınızdan telemetri verilerini toplamanıza ve çözümlemenize olanak tanır. Sanal makineler, kapsayıcılar ve depolama hesapları dahil olmak üzere çeşitli Azure kaynaklarının izlenmesini destekler. Önemli araçlar Arasında Application Insights ve Log Analytics yer alır. Veri toplamayı yapılandırarak ve izlemek istediğiniz ölçümleri ve günlükleri tanımlayarak değerli iş yükü verilerini analiz için toplayabilirsiniz. Ağ izleme için Azure İzleyici'yi Azure Ağ İzleyicisi, Azure İzleyici ağ içgörüleri ve Azure ExpressRoute izleme ile birleştirin.

Azure İzleyici, gelecekteki iş yükü eğilimlerini ve kapasite gereksinimlerini tahmin etmek için geçmiş verileri analiz etmenize ve tahmin teknikleri uygulamanıza olanak tanır. Kapasite planlaması konusunda size yardımcı olabilecek tahminler oluşturabilirsiniz. Bu tahminler, tahmin edilen talep desenlerini kullanarak sunucu kapasitesini, ağ bant genişliğini, depolama kapasitesini ve diğer kaynak gereksinimlerini tahmin etmenize yardımcı olur.

Kaynak gereksinimlerini belirleme: Çok çeşitli yapılandırmalar sağladığından, Azure araçları ve hizmetleri teknik gereksinimleri tanımlamanıza yardımcı olabilir. İş yükü gereksinimlerinizi kullanılabilir Azure kaynaklarıyla uyumlu hale getirerek, işlevsel gereksinimlerinizi karşılamak için uygun bileşenleri ve ayarları seçtiğinizden emin olabilirsiniz.

Kaynak sınırlamalarını anlama: Azure, çeşitli Azure hizmetlerinin ve SKU'larının performans sınırlamalarını anlamanıza yardımcı olacak belgeler ve kaynaklar sağlar. Bu sınırlamaları göz önünde bulundurarak bilinçli tasarım kararları alabilir ve iş yükü mimarinizi performans ve maliyet verimliliği açısından iyileştirebilirsiniz.

Azure, kaynakları iş yükü talebine göre otomatik olarak ayarlayabilen otomatik ölçeklendirme gibi ölçeklenebilirlik seçenekleri sunar. Daha büyük bir sanal makine boyutu kullanarak bir kaynağın kapasitesini artırarak dikey olarak ölçeklendirebilir veya bir kaynağın yeni örneklerini ekleyerek yatay olarak ölçeklendikleyebilirsiniz. Otomatik ölçeklendirme özelliklerine sahip Azure hizmetleri, iş yükü artışları sırasında kapasiteyi sağlamak ve yük azaldığında normale dönmek için ölçeği otomatik olarak genişletebilir. Yapılandırmanızda ve hizmetlerinizde bilmeniz gereken ölçeklendirme sınırları vardır. Belgeleri okuyabilir veya testleri çalıştırabilirsiniz. Azure, iş yükünüzle ilgili verileri toplamanıza yardımcı olmak için yükün ve farklı kullanım düzenlerinin benzetimini yapan Azure Load Testing gibi araçlar sağlar.

Performans Verimliliği denetim listesi

Önerilerin tamamına bakın.