下面是一篇关于并非所有具有相同计算性能的EC2实例的文章: http : //www.theregister.co.uk/2012/10/22/ec2_hardware_heterogeneity/
最近我遇到了这个问题,在一些EC2testing服务器上运行一些基准testing。 尽pipe代码和负载是相同的,但其中一些性能比其他性能差得多。 更有趣的是,我看到具有相同/proc/cpuinfo机器之间的差异,所以我不认为我可以使用它来可靠地检查实例质量。
我正在寻找如何在创build后立即testing质量/速度/健康的build议。 理想情况下,我想在创build实例后运行一个30秒的脚本,然后使用结果来决定是否终止它并重试,或保持运行状态。
像计算pi到第n个数字x次的工作? 那里有可用的工具可能会更好吗?
谢谢!
你想要做的是创build一个循环中运行时间恒定的代码段。 每秒钟,代码应该每秒中断一次,并打印出已经完成的操作的次数。 此代码应该是multithreading的,并允许您select传递CPU内核数量的选项。
我认为最简单的答案是计算可以encryption的AES数据包的数量,以每个进程的随机string和随机密钥开始,或者可以散列多less个string。 这应该保持分支预测和处理器caching不在方程中。
至于testing内存的性能,我不打扰 – CPU的消耗通常是在那里的速度仲裁。
至于testingnetworking性能,这是具有挑战性的,因为你不能轻易地隔离它。 您需要多个实例进行testing,以确保您的基准系统不会改变。 即使这样,到其他系统的路由可能具有不同的性能特征。
至于磁盘性能,只有当您不使用EBS支持的磁盘时,或者您正在testingEBS的整体性能时才有用,因为它的差异与实例无关。