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

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

本节书摘来华章计算机《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)。

image

打开工具可以看到多种交互模式,有一些特征可以使用来帮助你探究和解决特定问题。根据你在esxtop选定的交互模式,你可以使用字段选择命令(f)来开启关闭信息的某一列。
例如,你想在存储适配器视图中看队列的统计数据。这些数据默认不呈现,但是先按d键来进入视图,再按f键来选择统计数据,可以通过按d键来选择QSTATS字段,如图2-4所示。


image


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

image


2. 批模式
除了查看实时性能统计数据之外,esxtop另一个非常有用的模式是批处理模式。在批处理模式下,你可以运行esxtop一段时间,并让它自动聚集性能数据。把数据写入CSV格式文件,该文件可以作为很多管理者都很熟悉的类似于Windows下性能监控器的输入。
以批处理模式运行esxtop非常有用,因为你可以看到ESXi主机或虚拟机在一段时间内的性能状况。你可以指定哪些统计数据可以被监控,多久数据应该收集和写入CSV文件一次。包含的统计数据越多,写入CSV文件的频率越高,输出文件就越大。
在批处理模式下,可以指定esxtop采集统计数据的间隔和写入CSV文件的间隔。也可以指定自动停止前的迭代次数。这些配置被传到esxtop命令中来使esxtop进入批处理模式。表2-2列出了可传递给esxtop的参数。

image


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

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


image


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

image


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

相关文章
|
5天前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
15天前
|
存储 缓存 JavaScript
如何优化Node.js应用的内存使用以提高性能?
通过以上多种方法的综合运用,可以有效地优化 Node.js 应用的内存使用,提高性能,提升用户体验。同时,不断关注内存管理的最新技术和最佳实践,持续改进应用的性能表现。
|
13天前
|
云安全 监控 安全
云计算环境下的网络安全策略与实践
在数字化时代,云计算已成为企业和个人存储、处理数据的重要方式。然而,随着云服务的普及,网络安全问题也日益凸显。本文将探讨如何在云计算环境中实施有效的网络安全措施,包括加密技术、访问控制、安全监控和应急响应计划等方面。我们将通过具体案例分析,展示如何在实际场景中应用这些策略,以保护云中的数据不受威胁。
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
25天前
|
数据采集 网络协议 算法
移动端弱网优化专题(十四):携程APP移动网络优化实践(弱网识别篇)
本文从方案设计、代码开发到技术落地,详尽的分享了携程在移动端弱网识别方面的实践经验,如果你也有类似需求,这篇文章会是一个不错的实操指南。
49 1
|
26天前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image:
151 1
|
26天前
|
监控 安全 程序员
如何使用内存池池来优化应用程序性能
如何使用内存池池来优化应用程序性能
|
29天前
|
存储 缓存 Java
结构体和类在内存管理方面的差异对程序性能有何影响?
【10月更文挑战第30天】结构体和类在内存管理方面的差异对程序性能有着重要的影响。在实际编程中,需要根据具体的应用场景和性能要求,合理地选择使用结构体或类,以优化程序的性能和内存使用效率。
|
1月前
|
存储 缓存
CPU性能
【10月更文挑战第30天】CPU性能
42 3
|
1月前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。
164 1