天天看点

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一2.2.1 esxtop

本节书摘来华章计算机《vsphere性能设计:性能密集场景下cpu、内存、存储及网络的最佳设计实践》一书中的第2章 ,第2.2.1节,[美] 克里斯托弗·库塞克(christopher kusek) 著 吕南德特·施皮斯(rynardt spies)姚海鹏 刘韵洁 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

如果你决定掌握本章讲的其中一个工具,那就是esxtop了。esxtop是一个内置于esxi的性能监控工具,提供主机性能的实时可视性。对于那些熟悉微软windows的人,esxtop是和性能监控器(经常称为“perfmon”)最相近的了。而对于那些有linux使用经验的人,esxtop很像“top”工具。

esxtop可以通过登录esxi主机的esxtop控制台来获得,或者通过vsphere命令行接口(cli)或vsphere管理助手(vma)等工具来远程连接。一旦启动,esxtop提供esxi主机上4个关键资源的实时可视性:cpu、内存、存储和网络。它可在主机层面也可在单个客机层面,提供每个关键资源的性能指标。

1. 交互模式

当第一次启动esxtop时,它以交互模式启动。可以通过按相应的按键来改变视图,以呈现不同的性能计数器(见表2-1)。

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一2.2.1 esxtop

打开工具可以看到多种交互模式,有一些特征可以使用来帮助你探究和解决特定问题。根据你在esxtop选定的交互模式,你可以使用字段选择命令(f)来开启关闭信息的某一列。

例如,你想在存储适配器视图中看队列的统计数据。这些数据默认不呈现,但是先按d键来进入视图,再按f键来选择统计数据,可以通过按d键来选择qstats字段,如图2-4所示。

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一2.2.1 esxtop

随着qstats字段被选中,你可以看到aqlen显示在esxtop中,如图2-5所示。这个字段默认不呈现,但它(很多其他的字段)可以被添加到显示器中以帮助查看你要查找的性能数据。

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一2.2.1 esxtop

2. 批模式

除了查看实时性能统计数据之外,esxtop另一个非常有用的模式是批处理模式。在批处理模式下,你可以运行esxtop一段时间,并让它自动聚集性能数据。把数据写入csv格式文件,该文件可以作为很多管理者都很熟悉的类似于windows下性能监控器的输入。

以批处理模式运行esxtop非常有用,因为你可以看到esxi主机或虚拟机在一段时间内的性能状况。你可以指定哪些统计数据可以被监控,多久数据应该收集和写入csv文件一次。包含的统计数据越多,写入csv文件的频率越高,输出文件就越大。

在批处理模式下,可以指定esxtop采集统计数据的间隔和写入csv文件的间隔。也可以指定自动停止前的迭代次数。这些配置被传到esxtop命令中来使esxtop进入批处理模式。表2-2列出了可传递给esxtop的参数。

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一2.2.1 esxtop

例如,你想运行esxtop共5分钟的时间,每5秒采集一次数据,共迭代100次,并包括esxtop统计数据,输出到名为results.csv的csv文件。那么可用下面的命令:

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一2.2.1 esxtop

一旦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按钮来查看你的数据。

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一2.2.1 esxtop

现在收集的数据显示在性能监控器中,可以看到图形。监控的时间越长,数据越多,就可以画出随时间变化的图。esxtop数据在性能监控器中的一个输出例子如图2-7所示。

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一2.2.1 esxtop

注意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

继续阅读