对在笔记本电脑上运行良好的应用程序进行硬件调整



如果一个应用程序已经在带有本地Web服务器和数据库的笔记本电脑上运行良好,那么当它部署到产品中时,它会如何影响硬件规模?

我们是第一次试用该应用程序,到目前为止,该应用程序在中端笔记本电脑上运行良好。

我认为任何服务器都会比笔记本电脑更强大。应该如何适当地扩展需求?

我能看到的主要影响是:

  • 数据库的位置(可能安装在单独的服务器或数据中心上,导致网络问题-不知道这是否会影响cpu、内存规格)
  • 企业web容器的开销(目前使用jetty,由于支持原因,预计将转移到tomcat)
  • 我们目前使用的是Windows,服务器很可能在unix中

不确定哪些应用程序详细信息相关,但:-单线程应用-主要功能是托管REST服务,该服务计算平均复杂度的算法。每秒最多需要16个请求-目前使用Java和Postgre

谢谢!

没有什么可以替代的,包括在可比较的服务器硬件上进行测试和了解堆栈的性能模型。请记住,您的需求可能会随着时间的推移而变化,通常情况下,对硬件采取灵活的方法(就能够将其部分移动到其他服务器上而言)比为您的需求制定严格的公式更重要。

然而,您应该明白,堆栈的不同部分有不同的需求。PostgreSQL通常(不总是,但通常)需要快速的磁盘I/O和更多的处理器内核(处理器速度通常不是一个因素),而您的Java应用程序可能会从更快的内核中受益。

以下是我的一般规则:

  1. 进行一些一般的性能分析,了解CPU的功耗在哪里,以及磁盘I/O上等待的是什么。

  2. 请密切关注服务器规格。仅仅因为服务器在某些方面可能更强大并不意味着你的应用程序在它上会表现得更好。

  3. 完成此操作后,请在考虑负载的情况下选择硬件。然后在硬件上进行测试。

编辑:我们在Efficito关注的是以下CPU:

  1. 缓存大小
  2. 岩心
  3. GFLOPS/核心
  4. 其他性能指标

对于硬盘驱动器,我们要注意以下几点:

  1. 速度
  2. 类型
  3. RAID设置
  4. 一般突发和持续吞吐量

请记住,你的数据库部分更有可能是I/O绑定的,这意味着你更多地关注硬盘驱动器规格,而不是CPU规格,而你的应用程序代码更有可能是CPU绑定的,意味着更好的CPU规格会给你更好的性能。请记住,我们正在PostgreSQL和Apache上进行ERP软件的虚拟化托管,因此我们通常在同一硬件上平衡双方。

相关内容

  • 没有找到相关文章

最新更新