如果应用程序已经在具有本地Web服务器和数据库的笔记本电脑上运行良好,那么它在部署到产品中时如何影响硬件大小调整?
我们是第一次试用这个应用程序,直到现在,应用程序在中级笔记本电脑上运行良好。
我认为任何服务器都比笔记本电脑更强大。如何适当地扩大要求?
我能看到的主要影响是:
不确定哪些应用程序详细信息相关,但是: - 单线程应用程序 - 主要功能是托管REST服务,该服务计算平均复杂度的算法。预计大约16个请求每秒最多 - 目前使用Java和Postgre
谢谢!
答案 0 :(得分:1)
一些东西是无可替代的,包括测试可比较的服务器硬件和了解堆栈的性能模型。请记住,您的需求可能会随着时间的推移而发生变化,通常情况下,对硬件采用灵活的方法(就能够将其移动到其他服务器上而言)比使用刚性公式更为重要你需要什么。
然而,您应该理解,堆栈的不同部分有不同的需求。 PostgreSQL通常(并非总是,但通常)需要快速的磁盘I / O和更多的处理器内核(处理器速度通常不是一个因素),而您的Java应用程序可能会从更快的内核中受益。
以下是我的一般规则:
进行一些常规性能分析,了解CPU功耗的位置以及磁盘I / O上的等待情况。
密切关注服务器规格。仅仅因为服务器在某些方面可能更强大 并不意味着您的应用程序在其上表现更好。
完成此操作后,请考虑您的负载选择您的硬件。然后在该硬件上进行测试。
编辑:我们在Efficito注意的是CPU的以下内容:
对于硬盘,我们注意以下几点:
请记住,您的数据库部分更可能受I / O限制,这意味着您从注意硬盘驱动器规格而不是从CPU规格获得更多,而您的应用程序代码更可能受CPU限制,这意味着更好CPU规格为您提供更好的性能。请记住,我们正在PostgreSQL和Apache上进行ERP软件的虚拟托管,因此我们通常在同一硬件上平衡双方。