我需要购买服务器,并且需要了解指定它们的正确方法。
根据这个问题的答案,有几个参数需要考虑:
我现在无视成本,规模和权力。 操作系统(如果有的话)必须是Windows Server 2008 R2。
因为最终的应用程序是基于IIS的,所以我想要设置一系列的testing,这些testing将帮助我分别描述每一个,并将它们中的两个或更多个进行一致性描述。
例如,单独:
CPU:编写一个简单的内存math运算。 产生执行这个操作的几个线程。 测量系统资源(Perfmon),FLOPS,作为时间函数的线程数量。
RAM /虚拟内存:写入内存泄漏。 测量系统资源作为时间的函数。
硬盘速度:在磁盘上创build一个大的数据文件。 随时间测量随机访问文件部分的系统资源和访问时间。
networking速度:使用像这样的工具来查看网卡的性能。
到目前为止,这么好(虽然有改进表示赞赏!)。 一种可能性就是获得“ Windows体验指数 ”的个人分数。
我如何去描述它们之间的相互作用?
例如,可以通过编写一个简单的Web服务来testingnetworking<==> CPU交互,该服务只是按照要求的速度将数据抽出。 显然,这也是IIS的特征,但是这也是最终系统的一部分。
又如,可以使用IIS为静态大图像文件(closures任何caching)来testingnetworking<==>硬盘速度交互。
有没有人知道一套testing是用来表征这些types的性能?
显然,看到服务器如何与真正的软件一起工作的唯一真正的方法是部署它。 我们还没有完成它,所以这不是一个选项(还!)。
有很多现有的基准来以各种方式表征系统性能。 “Windows体验索引”就是这样的一个方法,但也有其他的一些方法(无尽的CPU基准testing,内存吞吐量测量,任意排列的stream式和随机访问模式下的磁盘I / O,实际有用的NIC速度,以bps和pps,有没有TCP和总线速度都是无限复杂的)。
但是,在回答“我的应用程序将如何执行?”这个问题时,这对您是没有任何用处的,因为您不知道应用程序的性能要求和特性是什么(因为它还不存在) 。 例如,“Windows体验索引”是衡量运行Windows时各种硬件组件工作情况的指标。 微软的聪明人测量了抽象性能基准与Windows正常运行相关的方式,然后用它来创build索引。 您不能像PassMark分数那样有意义地采取一个数字(以一个随机的例子),并将其变成一个有用的度量,而不知道您的应用程序处理请求所花费的CPU时间。
现在,如果你以前曾经问过这个问题的人有99%,并且得到了完全相同的答案,那么你可能会遇到某种“但……但是……但我需要它!” 反应。 唯一可能的答案归结为“艰难的运气”。 物理定律并不在乎我们想要走得比光明还快,而且性能分析的规律并不在意你想知道不可知的东西。
(如果您想知道,不得不一遍又一遍地重复这种types的答案,这并不是很有趣,这就是为什么我们不喜欢“服务器故障”中的“我需要什么服务器?”问题。因为人们抱怨答案不是愚蠢的,因为A人想知道他可以运行多less个WordPress博客,而B人想知道他可以运行多less个Drupal站点)。