【发布时间】:2015-11-09 12:14:06
【问题描述】:
例如,如果我想计算推荐算法的性能,我在具有两个 4G 内部存储的 linux 机器上对其进行测试。结果是:响应时间-40ms,cpu负载:2,虚拟用户数为20,RAM消耗为70%。那么该算法在负载为 4 的 4 核 8G 内部存储(或 8 核 16G 存储...)的 linux 机器上的性能如何? PS:操作系统是“Red Hat Enterprise Linux Server release 5.7 (Tikanga)”,程序在jvm上运行。双机的操作系统和运行环境是一样的。我知道理想情况下负载为 4 时性能翻倍,负载为 2 时结果相同,但实际上结果不同。 所以,问题是:如果我们知道以下参数:
cpu 负载:x
响应时间:y ms
虚拟用户数:z(并发数)
内存消耗:m%
对于低性能机器上的算法,我们可以计算它在高性能机器上的性能(或 tps)吗?如果可以,怎么做?如果不能,是参数不够还是结果参差不齐?
为了简化问题,我想考虑两种极端情况。首先,应用程序只是计算,也就是说,算法只计算数据,所以它只与cpu有关(负载和cpu可能会高一倍)。第二种情况是,算法只从web读取数据,也就是说它不计算任何东西(负载可能很高,但cpu很低)。
【问题讨论】:
-
您的应用程序(CPU、磁盘、RAM)的瓶颈是什么?如果你不能明确指出其中之一,并且三个都很重要,那么还有像
cache这样的东西,它可以显着(按顺序)提高性能。 -
你是对的,我改变了我的问题。为了简化问题,我假设我没有在代码中使用任何缓存。
标签: linux performance