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

时间:2013-11-22 06:21:07

标签: java postgresql hardware sizing

如果应用程序已经在具有本地Web服务器和数据库的笔记本电脑上运行良好,那么它在部署到产品中时如何影响硬件大小调整?

我们是第一次试用这个应用程序,直到现在,应用程序在中级笔记本电脑上运行良好。

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

我能看到的主要影响是:

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

一些东西是无可替代的,包括测试可比较的服务器硬件和了解堆栈的性能模型。请记住,您的需求可能会随着时间的推移而发生变化,通常情况下,对硬件采用灵活的方法(就能够将其移动到其他服务器上而言)比使用刚性公式更为重要你需要什么。

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

以下是我的一般规则:

  1. 进行一些常规性能分析,了解CPU功耗的位置以及磁盘I / O上的等待情况。

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

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

  4. 编辑:我们在Efficito注意的是CPU的以下内容:

    1. 缓存大小
    2. GFLOPS /芯
    3. 其他效果指标
    4. 对于硬盘,我们注意以下几点:

      1. 速度
      2. 类型
      3. RAID设置
      4. 一般爆发和持续吞吐量
      5. 请记住,您的数据库部分更可能受I / O限制,这意味着您从注意硬盘驱动器规格而不是从CPU规格获得更多,而您的应用程序代码更可能受CPU限制,这意味着更好CPU规格为您提供更好的性能。请记住,我们正在PostgreSQL和Apache上进行ERP软件的虚拟托管,因此我们通常在同一硬件上平衡双方。