未解决
此帖子已超过 5 年
Community Manager
•
7.3K 消息
0
745
查看并计算VNXe性能数据的多种方法
查看并计算VNXe性能数据的多种方法
转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese
介绍
本文将为您介绍查看并计算VNXe性能数据的多种方法。
更多信息
通常,我们查看VNXe存储系统的性能数据,我们首先会想到Unisphere图形管理界面。
没错。登录VNXe Unisphere后选择System->System Performance我们可以看到从过去5分钟至过去48小时内的性能数据。包括CPU活动,网络活动和卷活动等信息。
但有些高级用户可能会觉得这些性能数据还不够用。希望获得更多更详细的性能数据。
这里就将为您介绍另一种通过命令行界面查看并计算更多VNXe性能数据的方法。
注意:下面的操作有些复杂, 如果您对VNXe不是特别熟悉,还请先查看其它VNXe文档,充分熟悉VNXe系统后再进行操作。
那么,下面就开始为您介绍通过命令行界面查看并计算VNXe性能数据的方法。
首先,使用service账户通过SSH的方式连接到VNXe的命令行界面。在/EMC/backend/perf_stats/目录下你可以看到以.db结尾的数据库文件。这些数据库文件保存着VNXe性能相关的数据。
当我们使用vi命令尝试打开stats_basic_default.db,看到的只是一堆乱码。但可以从开头看到这个是一个SQLite格式的数据库文件。那我们要如何读取这个数据呢?
这时候我想到了google。上网google了一下,找到文章说只需要下载sqlite3.ext工具并执行几个命令就可以将数据库文件转换成txt(文本)或csv(电子表格)的格式了。Sqlite3.ext可以在http://www.sqlite.org/download.html下载。一般情况下,只需要下载sqlite-shell-win32-x86-3080301.zip就可以了。
下载成功后将其解压到Windows的任一目录。这里,我将sqlite工具解压在了C:\test\ 目录下面。
然后,我们需要将VNXe系统里面的数据库文件拷贝到C:\test\ 目录下面。这里可以使用WinSCP工具连接到VNXe系统后,将/EMC/backend/perf_stats/下面的.db文件拷贝过来。这里我们将stats_basic_default.db文件拷贝至Windows的C:\test\ 目录下。
一切准备就绪。打开Windows的CMD命令行界面按照下面步骤执行即可。
1. 执行cd c:\test 命令跳转至sqlite3工具所在的目录。
2. 执行dir命令可以看到当前目录下有sqlite3工具和stats_basic_default.db文件。
3. 执行sqlite3.exe stats_basic_default.db 命令来读取数据库文件
4. 执行 .output stats_basic_default.csv 命令来将输出内容写入名为stats_basic_default.csv的电子表格文件。
注意,这里的 . 一定要输入。
5. 执行 .dump 将所有的内容写入stats_basic_default.csv文件。
6. Ctrl+c 退出数据库读取。
7. 再执行dir命令就可以看到新生成的stats_basic_default.csv文件了。
我们可以用同样的方法将其它VNXe系统里的 .db的数据库文件的内容导出来。
那么,这些 .db的数据库文件都包含哪些内容呢?
其实,它们包含了N多相应的参数和数据。下面是各个数据库文件里包含的一部分参数。每个参数的解释,你都可以在.db数据库导出后的文件中查看到。
stats_basic_default.db文件中包含的DART相关参数:
SysClockUnixms
NetBasicBytesIn
NetBasicBytesOut
NetInPackets
NetOutPackets
TCPInPackets
TCPOutPackets
UDPInPackets
UDPOutPackets
StoreReadBytes
StoreWriteBytes
StoreReadRequests
StoreWriteRequests
stats_basic_summary.db文件中包含的DART相关参数:
NetBasicBytesIn
NetBasicBytesOut
NetInPackets
NetOutPackets
TCPInPackets
TCPOutPackets
UDPInPackets
UDPOutPackets
StoreWriteBytes
StoreReadBytes
StoreReadRequests
StoreWriteRequests
KernelBufCacheHits
kernelBufCacheLookups
CifsActiveConnections
CifsTotalConnections
CifsBasicReadBytes
CifsBasicReadOpCount
CifsBasicWriteBytes
CifsBasicWriteOpCount
FsDnlcHits
FsDnlctotal
FsOfCachehits
FsOfCachetotal
NfsActiveConnections
NfsBasicReadBytes
NfsBasicReadOpCount
NfsBasicWriteBytes
NfsBasicWriteOpCount
iSCSIBasicReads
iSCSIReadBytes
iSCSIBasicWrites
iSCSIWriteBytes
stats_basic_summary.db文件中包含的FLARE_SP相关参数:
HardErrorCount
HighWaterMarkFlushOff
IdleFlushOn
LowWaterMarkFlushOff
writeCacheFlushes
writeCacheBlocksFlushed
ReadHitRatio
SPTimestamp
SumOfQueueLengths
arrivalsToNonzeroQueue
SumOfLUNBlkRead
SumOfLUNBlkWrite
SumOfLUNDiskRead
SumOfLUNDIskWrite
SumOfLUNDiskBlkRead
SumOfLUNDiskBlkWrite
SumOfFRUBlkRead
SumOfFRUBlkWrite
SumOfFRUReadCount
SumOfFRUWriteCount
那这些内容对我们有什么用呢?我们怎么使用呢?
我们就以stats_basic_default.db中的StoreWriteRequests参数举个例子。
打开刚才新生成的stats_basic_default.csv文件,用关键字查找StoreWriteRequests。你可以看到以下内容:
这里面左边一列为参数,右边一列为对参数的描述。
参数 | 描述 |
SysClockUnixms | --Time in unix seconds (since 1970)" |
NetBasicBytesIn | --Total Bytes DART received from all NICs |
NetBasicBytesOut | --Total Bytes DART sent to all NICs |
NetInPackets | --=TCP+UDP |
NetOutPackets | --=TCP+UDP |
TCPInPackets | --Total number of packets DART received (including control packets) |
TCPOutPackets | --Total Number of packets DART sent (including control packets) |
UDPInPackets | --Total number of packets DART received (including control packets) |
UDPOutPackets | --Total Number of packets DART sent (including control packets) |
StoreReadBytes | --Total bytes read from all DART volumes |
StoreWriteBytes | --Total bytes written to all DART volumes |
StoreReadRequests | --Total number of read requests on all DART volumes |
StoreWriteRequests | --Total number of write requests on all DART volumes |
还有,下面横向的数据就是每个时间点与上面的参数所对应的数值。对应关系如图。
我们取C列(Time Stamp)和P列(StoreWriteRequests)的值。
从这里可以看出数据库每5分钟将新的写请求数据和之前的数据相加后插入一个新的条目到数据库中。由此我们可以算出,5:40 ~ 5:45之间的新的写请求的数是161067-161063=4 。
如果我们将这5分钟按照秒来换算成300秒,那么在这5分钟内,每秒新的写请求就是4/300=0.013 。
由于,当前实验环境写请求比较少,所以数值很低。
但使用类似方法,用户就可计算出某一时间段特定的VNXe的性能到底如何了。NetBasicBytesIn 等网络参数的计算也可使用类似方法。
适用于
VNXe3100
VNXe3150
VNXe3300
VNXe系列存储