我经常被问到执行的规模和能力规划,为我们的客户。当我们的客户购买我们的产品(基本上J2EE网应用程序),他们经常会问,什么样的硬件,他们将需要运行的这些产品。我们的建议往往导致高成本的硬件采购。

迄今为止,最好的启发我的发展被比较的利用率预测(数量的注册和用户应用程序应该参加)收集到的数据在我们现有的设施。是这样的:如果安装一个出席100用户与X硬件,然后安装B将需要2*X硬件参加200并发用户。

这种做法,但是,有一些问题。客户经常使用不同的硬件和软件平台。所设置的产品,他们从美国购买一般从不同和一般部分应用程序是建立在以对于特定的客户。放入帐户的软件版本的改变等等。有这么多的参数,可以使任务的尺寸很困难的。

我研究了一些关于这一主题的书籍和一些提议使用复杂的数学模型。的参数的数这些办法需要作为输入(例如详细分类的应用程序的功能)让我觉得这些是几乎没有用的。硬件一般命令之前即使是基本的要求是定义更不要说这将改变整个应用程序开发和生命周期。所以,你怎么去调整大小和能力规划吗?任何技巧以及如何使用的赞赏。

有帮助吗?

解决方案

如果基本请求数的定义,那么,你能做的最好的是看你安装了一套类似的项目基地,球场容量硬件之前必须订购(因为你现在做的)。跟踪的缩放和容量需求的现有客户的体验,因为他们成长的安装,如果你有一个足够大的基地,你也许可以做粗略的曲线通过将类似项目类似的硬件,看着容量需求的配件。观看现有客户容量需求如何生长期间变化以及用于额外的数据点。

在理想情况下,初始的HW / SW团购是一个试点安装,并且基准试点安装,一旦它起来,会议规格。使用这些结果对项目从试点迁移到产能的需求。当然,这需要时间基准中试到生产计划,然后应用程序令,采取设备的交付。但它会给比做这一切前期更准确的估计能力。

其他提示

没有简单或数学公式预测规模的介绍你了,如果你(或公司)都是严重的关于这个然后最好的办法是建立一个性能和可伸缩性测试环境中,你可以容易地安装和拆除各种客户的配置和发送载在他们看看他们将如何做。因为你正在建设的自定义成分,一个写得不好的部件或失踪的索引可以乱的一切了,因此具有环境喜欢在这里,你可以铁这些东西出来之前给客户。一旦你这种类型的环境中,你可以增加的存储器和cpu的应用程序服务器和数据库怎么看你的应用程序的尺度。

我建议虚拟机环境下,他们可以很容易地加cpu和存储根据应用的需要,加上一些现实的外部装载/规模的测试,测试采用一个服务等watchmouse或browsermob.

如果该应用在gracefull方式水平缩放,粗略初始估计是确定为起点。添加或一次应用在生产运行的要求应该是很容易消除附加框。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top