您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

增加的 I/O 请求滞后时间会降低虚拟机性能

时间:2021-06-23 14:49:59  来源:今日头条  作者:网络管理员老高

如果 ESXi 主机对 LUN 生成的命令超过 LUN 队列深度所允许的数量,则超出的命令会在 VMkernel 中排队。

这会增加滞后时间,或是完成 I/O 请求所需的时间。

问题

主机完成 I/O 请求所需的时间更长,且虚拟机会显示性能不佳。

原因

这个问题可能是由于 LUN 队列深度不够而引起的。SCSI 设备驱动程序有一个名为 LUN 队列深度的可配置参数,可确定向给定 LUN 发出的命令中同时处于活动状态的数量。如果主机对 LUN 生成过多的命令,则超出的命令会在 VMkernel 中排队。

解决方案

1 如果所有虚拟机中活动命令的总和总是超出 LUN 深度,则会增加队列深度。

用于增加队列深度的过程取决于主机使用的存储适配器类型。

2 调整
Disk.SchedNumReqOutstanding 参数,使其与队列深度值匹配。

调整 QLogic 和 Emulex HBA 的队列深度

如果您对主机的性能不满意,请更改 QLogic 或 Emulex HBA 的最大队列深度。

要调整最大队列深度参数,请使用 vCLI 命令。

在此过程中,--server=server_name 指定目标服务器。指定的目标服务器会提示您输入用户名和密码。支持其他连接选项,如配置文件或会话文件。有关连接选项的列表,请参见 vSphere 命令行界面入门.

前提条件

安装 vCLI 或部署 vSphere Management Assistant (vMA) 虚拟机。请参见 vSphere 命令行界面入门。要进行故障排除,请在 ESXi Shell 中运行 esxcli 命令。

步骤

1 通过输入以下命令之一确认当前正在加载的 HBA 模块:

对于 QLogic:esxcli --server=server_name system module list |grep qla

对于 Emulex:esxcli --server=server_name system module list |grep lpfc

2 调整相应模块的队列深度。

注意 这些示例显示了 QLogic qla2xxx 和 Emulex lpfc820 模块。请使用与上一步骤的输出相对应的模块。

对于 QLogic:

esxcli --server=server_name system module parameters set -m qla2xxx -p ql2xmaxqdepth=value

对于 Emulex:

esxcli --server=server_name system module parameters set -m lpfc820 -p

lpfc0_lun_queue_depth=value

3 重新引导主机。

4 通过运行以下命令确认更改:

esxcli --server=server_name system module parameters list -m=module。

module 为 QLogic 或 Emulex 模块,如 lpfc820 或 qla2xxx。

调整软件 iSCSI 的最大队列深度

如果发现软件 iSCSI LUN 的性能不佳,请通过运行 esxcli 命令来更改其最大队列深度。

前提条件

安装 vCLI 或部署 vSphere Management Assistant (vMA) 虚拟机。请参见 vSphere 命令行界面入门。要进

行故障排除,可以在 ESXi Shell 中运行 esxcli 命令。

在此过程中,--server=server_name 连接选项指定目标服务器。准备好在目标服务器提示您时输入用户名和密码。有关其他可能的连接选项的列表,请参见 vSphere 命令行界面入门。

步骤

1 运行下列命令:

esxcli --server=server_name system module parameters set -m iscsi_vmk -p

iscsivmk_LunQDepth=value

iscsivmk_LunQDepth 参数用于为通过软件 iSCSI 适配器访问的每个 LUN 设置最大未完成命令数或队列深

度。默认值为 128。

2 重新引导系统。

3 通过运行 esxcli --server=server_name system module parameters list -m iscsi_vmk 命令来确认所做的更改。

小心 将队列深度设置为高于默认值的值,可减少受支持 LUN 的总数。

更改虚拟机未完成磁盘请求的最大数目

如果调整了 LUN 队列深度,请更改
Disk.SchedNumReqOutstanding 参数,以便其值与队列深度匹配。该参数控制每个虚拟机可以向 LUN 发出的未完成请求的最大数目。

仅当有多个虚拟机在 LUN 上处于活动状态时才更改此参数。此参数不适用于 LUN 上只有一个虚拟机处于活动状态的情况。在这种情况下,带宽由存储适配器的队列深度限制。

步骤

1 在 vSphere Client 清单面板中选择主机。

2 单击配置选项卡,然后单击“软件”下的高级设置。

3 在左侧面板中单击磁盘,并向下滚动至
Disk.SchedNumReqOutstanding。

4 将参数值更改为所选的数字并单击确定。

此更改可对磁盘带宽调度产生影响,但是实验结果证明此更改对磁盘密集型工作负载有改善作用。



Tags:I/O   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
如果 ESXi 主机对 LUN 生成的命令超过 LUN 队列深度所允许的数量,则超出的命令会在 VMkernel 中排队。这会增加滞后时间,或是完成 I/O 请求所需的时间。问题主机完成 I/O 请求...【详细内容】
2021-06-23  Tags: I/O  点击:(123)  评论:(0)  加入收藏
Netty 怎么切换三种 I/O 模式什么是经典的三种 I/O 模式?生活场景:当我们去饭店吃饭时:• 食堂排队打饭模式:排队在窗口,打好才走;• 点单、等待被叫模式:等待被叫,好了自己...【详细内容】
2020-10-13  Tags: I/O  点击:(101)  评论:(0)  加入收藏
对于Java I/O来说,I意味着Input(输入),O意味着Output(输出)。读书写作并非易事,而创建一个好的I/O系统更是一项艰难的任务。古人云:“读书破万卷,下笔如有神”。也就是说,只有大量的阅...【详细内容】
2019-11-11  Tags: I/O  点击:(72)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(0)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(9)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(18)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(14)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(14)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(22)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(28)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(26)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条