许多系统工程师很难理解他们自己的工作量或者工作特性。他们可能有自定义代码或者没有对商业产品的运行进行研究。Ganglia 可以帮助剖析应用程序。
我们将使用 Ganglia 来检验运行 Linpack 基准的属性。图 2 显示了启动三项不同的 Linpack 作业的时间间隔。
图 2. 观察 Linpack
从此图中可以看到,当作业开始时,在作业启动时网络中有一些活动。但是,有趣的是接近作业结束时,网络流量增加了很多。如果您不了解 Linpack,您至少会认为:网络流量在作业结束时增加。
图 3 和图 4 分别显示 CPU 和内存使用率。在这里,您可以看到正在逼近处理器的限制,而且内存使用率也非常高。
图 3. CPU 使用率
图 4. 内存使用率
这些图形让我们深入了解正在运行的应用程序:我们正在使用大量 CPU 和内存并且在接近作业结束时造成更多网络流量。关于这项作业还有很多其他属性是我们不知道的,但是这给我们提供了一个很好的开端。
知道这些情况可以帮助在未来购买更多硬件时做出更好的采购决定。当然,没有人购买硬件只是为了运行 Linpack ……对么?