本节书摘来华章计算机《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第2章 ,第2.2.1节,[美] 克里斯托弗·库塞克(Christopher Kusek) 著 吕南德特·施皮斯(Rynardt Spies)姚海鹏 刘韵洁 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.2.1 esxtop
如果你决定掌握本章讲的其中一个工具,那就是esxtop了。esxtop是一个内置于ESXi的性能监控工具,提供主机性能的实时可视性。对于那些熟悉微软Windows的人,esxtop是和性能监控器(经常称为“perfmon”)最相近的了。而对于那些有Linux使用经验的人,esxtop很像“top”工具。
esxtop可以通过登录ESXi主机的esxtop控制台来获得,或者通过vSphere命令行接口(CLI)或vSphere管理助手(vMA)等工具来远程连接。一旦启动,esxtop提供ESXi主机上4个关键资源的实时可视性:CPU、内存、存储和网络。它可在主机层面也可在单个客机层面,提供每个关键资源的性能指标。
1. 交互模式
当第一次启动esxtop时,它以交互模式启动。可以通过按相应的按键来改变视图,以呈现不同的性能计数器(见表2-1)。
打开工具可以看到多种交互模式,有一些特征可以使用来帮助你探究和解决特定问题。根据你在esxtop选定的交互模式,你可以使用字段选择命令(f)来开启关闭信息的某一列。
例如,你想在存储适配器视图中看队列的统计数据。这些数据默认不呈现,但是先按d键来进入视图,再按f键来选择统计数据,可以通过按d键来选择QSTATS字段,如图2-4所示。
随着QSTATS字段被选中,你可以看到AQLEN显示在esxtop中,如图2-5所示。这个字段默认不呈现,但它(很多其他的字段)可以被添加到显示器中以帮助查看你要查找的性能数据。
2. 批模式
除了查看实时性能统计数据之外,esxtop另一个非常有用的模式是批处理模式。在批处理模式下,你可以运行esxtop一段时间,并让它自动聚集性能数据。把数据写入CSV格式文件,该文件可以作为很多管理者都很熟悉的类似于Windows下性能监控器的输入。
以批处理模式运行esxtop非常有用,因为你可以看到ESXi主机或虚拟机在一段时间内的性能状况。你可以指定哪些统计数据可以被监控,多久数据应该收集和写入CSV文件一次。包含的统计数据越多,写入CSV文件的频率越高,输出文件就越大。
在批处理模式下,可以指定esxtop采集统计数据的间隔和写入CSV文件的间隔。也可以指定自动停止前的迭代次数。这些配置被传到esxtop命令中来使esxtop进入批处理模式。表2-2列出了可传递给esxtop的参数。
例如,你想运行esxtop共5分钟的时间,每5秒采集一次数据,共迭代100次,并包括esxtop统计数据,输出到名为results.csv的CSV文件。那么可用下面的命令:
一旦esxtop进入批处理模式,你可以拿到CSV结果文件并把它载入Windows中的性能监控器中。简单地复制文件到Windows电脑并作如下操作:
1)在性能监控器中,按Ctrl+L组合键显示Performance Monitor属性中的Source标签页。
2)选择单选按钮Log files并单击Add按钮。
3)找到CSV文件,选择,并单击Open按钮。
4)单击Apply按钮载入CSV文件到性能监控器中。
5)选择Data标签页,单击Add按钮来选择你想查看的性能计数器。
6)找到你要查看的计数器,单击Add按钮在性能监控器中显示,如图2-6所示。单击OK按钮,然后再单击OK按钮来查看你的数据。
现在收集的数据显示在性能监控器中,可以看到图形。监控的时间越长,数据越多,就可以画出随时间变化的图。esxtop数据在性能监控器中的一个输出例子如图2-7所示。
注意esxtop中的-a选项
-a选项在批处理模式中很引诱人。你也许会想,“当我在性能监控器中看数据时,为什么不获得所有的可获取数据?”虽然这个观点确实有价值,但事实是esxtop会收集很多数据。
只在你想看所有可能从esxtop中收集的数据时使用-a选项。使用这个选项不仅会增大CSV输出文件,还会导致使用困难,因为你将面临更多性能计数器的选择,有很多重复的或者对当前任务没有必要的。
除非你很确定,否则不要使用-a。 最后你很有可能花更多的时间去寻找正确的性能计数器,而不是利用你收集的数据去做其他事。
3. 何时使用esxtop
管理员共有的问题是“当我有vCenter中的实时统计数据时为什么还要用esxtop?”vCenter确实有显示实时统计数据的选项,记住在vCenter中,实时统计数据仍然延迟20秒。然而,esxtop可以按照你的需求频繁地显示数据。
当性能问题发生时,一开始使用vCenter来分析数据通常是合理的。vCenter使用数据库来存储历史性能数据、报告目的和查看趋势。如果你决定有一个性能事件发生,并且你需要更详细的数据或更频繁的更新,那么你应该使用esxtop。
esxtop是一个非常强大的性能工具,如果你还没有十分熟悉esxtop,那么花一些时间去学习和理解它的工作原理,以便使用它来解决性能问题。vSphere性能专家在分析性能问题时经常依赖这个工具,所以你也应该利用它。
我们将在本书的后面章节涉及一些和CPU、内存、存储和网络相关的具体esxtop计数器。
深入了解esxtop
你可以找到更多关于esxtop的信息,包括性能统计数据详细的描述。参见https://communities.vmware.com/docs/DOC-9279。
VMware也提供了一个名为VisualEsxtop的工具,为esxtop提供图形界面。对于那些不习惯连接ESXi主机控制台的管理员,它是非常有用的工具。你可以从以下网址下载VisualEsxtop:http://labs.vmware.com/flings/visualesxtop。