2010-01-13 16 views
15

Müşterilerimiz için genellikle boyutlandırma ve kapasite planlaması yapmam istenir. Müşterilerimiz ürünlerimizi satın aldıklarında (temelde J2EE web uygulamaları), genellikle bu ürünleri çalıştırmak için hangi donanıma ihtiyaç duyacaklarını soruyorlar. Önerilerimiz genellikle yüksek maliyetli donanım alımları ile sonuçlanır. Şu ana kadar geliştirdiğim en iyi buluşsallık, mevcut projelerde toplanan verilerle, kullanım projeksiyonlarını (uygulamanın katılması gereken kayıtlı ve eşzamanlı kullanıcıların sayısı) karşılaştırmaktır. Şunlar gibi: A yüklemesi, X donanımıyla 100 eşzamanlı kullanıcıya katılırsa, B kurulumunun, 200 eşzamanlı kullanıcıya katılmak için 2 * X donanımına ihtiyacı olacaktır. Bununla birlikte, bu yaklaşımın bazı problemleri vardır. Müşteriler genellikle farklı donanım ve yazılım platformları kullanırlar. Bizden satın aldıkları ürün grubu genellikle aynı değildir ve genellikle uygulama bölümleri belirli müşteri siparişleri için üretilir. Yazılım sürümlerinin değiştiğini vb. Göz önünde bulundurun ve çok zor boyutlandırma görevi yapabilecek çok fazla parametre var.Boyutlandırma ve Kapasite Planlama İpuçları ve Nasıl Yapılır

Konuyla ilgili bazı kitaplar okudum ve bazılarının karmaşık matematiksel modelleri kullanmasını öneriyorum. Bu yaklaşımların girdi olarak girmesi gereken parametre sayısı (örneğin uygulama özelliklerinin ayrıntılı sınıflandırması), bunların pek de yararlı olmadığını düşünmemi sağlıyor. Donanım genellikle sipariş edilmeden önce, temel gereksinimlerin tanımlanmasından bile söz edilmediğinden, bunların uygulama geliştirme ve yaşam döngüsü boyunca değişeceğinden bahsedilir. Peki, boyutlandırma ve kapasite planlaması hakkında nasıl gidiyorsunuz? Her türlü ipucu ve nasıl yapılır?

cevap

3

Temel gereksinimler tanımlanmadan önce donanımın sipariş edilmesi gerekiyorsa, yapabileceğiniz en iyi şey, benzer bir proje grubu için (şu anda yaptığınız gibi) kurulu tabanınıza bakarak kapasiteyi baltalamaktır. Mevcut müşterilerinizin kurulumlarını büyüttükleri ölçeklendirme ve kapasite ihtiyaçları konusundaki deneyimlerini takip edin ve yeterince büyük bir tabana sahipseniz, benzer projeleri benzer donanımlarla gruplayarak ve kapasite gereksinimlerine bakarak kaba eğri uydurma yapabilirsiniz. Mevcut müşterilerin kapasitelerinin, ek veri noktaları için büyüme sırasında nasıl değiştiğini izleyin.

İdeal olarak, ilk HW/SW satın alması bir pilot kurulum içindir ve pilot kurulumunu tamamladıktan ve spesifikasyonlarla karşılaştırarak kıyaslayabilirsiniz. Pilottan üretime geçiş için proje kapasitesinin ihtiyaç duyduğu bu sonuçları kullanın. Tabii ki, bu, uygulamadan sonra uygulamayı sıralamak ve ekipmanın teslimini almak için pilot üretim programında zaman gerektirir. Ancak, tüm önceliklerini yapmaktan daha doğru bir kapasite tahmini verecektir.

0

Uygulama yatay bir şekilde yatay olarak ölçeklenirse, başlangıç ​​noktası olarak kaba bir başlangıç ​​tahmini tamamdır. Uygulama eklendiğinde, ek kutuları gerektiği gibi eklemek veya kaldırmak kolay olmalıdır. siz (veya şirket) bu konuda ciddi olup olmadığını verdi açıklamasında ölçeğini tahmin etmek hiç de kolay veya matematiksel bir formül yoktur

+0

Sorun ticari değil, tekniktir. Müşterilerin önceden bir başlangıç ​​ve TCO fikri olması gerekir. Ayrıca, ihtiyacınız olan tam ürünü biliyorsanız, donanım satıcılarıyla görüşme yapmak daha kolaydır. Çok büyük tahmin ve müşteri ihtiyacı olmayan HW ile sıkışmış; çok az tahmin et ve bütçesini üzdün, satıcı ile kaldıraç yok. – Dan

4

ardından en iyi yolu, bir performans & ölçeklenebilirlik test ortamı oluşturmak için nerede olduğunu kolayca kurulum & çeşitli istemci konfigürasyonlarını yırtıp nasıl yapacaklarını görmek için onlara yük gönderin. Özel bileşenler oluşturduğunuz için, kötü yazılmış bir bileşen veya eksik indeks her şeyi dağıtabilir, bu nedenle böyle bir ortama sahip olmak, müşteriye vermeden önce bu şeyleri demirleyebileceğiniz yerdir. Bu tür bir ortama sahip olduğunuzda, uygulamanızın ölçeklerini görmek için uygulama sunucularına & cpu bellek ekleyebilirsiniz.

ben onlar kolayca watchmouse veya browsermob gibi bir hizmeti kullanarak bazı gerçekçi dış yük/ölçek testi ile birleştiğinde uygulama gereksinimlerine göre cpu & bellek ekleyebilirsiniz makinelerinin ortamlarını öneririz.