如何估计应用程序的性能(CPU、I/O、内存)



已知:应用程序在服务器上运行性能

  • 性能指标:cpu、i/o、内存
  • 服务器硬件信息:CPU(核心号、主频等)、内存、i/o

问题:如果有一个新服务器,并且我可以获得新服务器的硬件信息,那么在不在新服务器上运行应用程序的情况下,如何评估应用程序的运行性能(获得性能指标)?

有什么建议和方向吗?非常感谢~

这很难,处理器指令可能会发生变化,总线速度较慢,磁盘速度较慢(HDD与SDD相比,查找时间将提高第一个选项的利用率),您需要考虑到所有这些,您需要知道您的系统是如何使用每一个的,但问题并没有就此结束,可能会有软限制,测试可能甚至没有使用所有的资源,只需获得机器并在实际硬件上运行测试更容易。

这段视频是Goranka Bjedov关于性能测试的演示,她是一个谷歌软件工程师

https://youtu.be/k9h51BM2h4

在演讲的最后,在问题部分,有人谈到了结果外推。以下是问题的答案:

"所以我在谷歌告诉你几件事,我很幸运,因为我们数据中心的机器没有超级计算机,除非你看看我们是如何组织这些机器的,否则它们确实是一体的,但实际上是单独的盒子,它们和我办公室里的盒子几乎一样,所以在这方面我很幸运"

https://youtu.be/k9h51BM2h4w?t=3704

"你有一个真正的问题,我的意思是,你真的想在机器投入生产之前有一些时间在机器上,如果系统还没有投入生产,那么在一周或一个周末或其他时间内进行测试应该不会那么困难,这样你就可以获得一些关于运行情况的数据,因为你无法从***中推断出结果,你甚至不知道,我的说,这是一个不同的操作系统,一切都不一样。嗯,外推法会杀了你,内插法很好,但外推法也会杀死你,因为事情只是出了问题,这是你没有预料到的,或者耗尽了一些你从未预料到的资源。"

https://youtu.be/k9h51BM2h4w?t=3780

最新更新