磁盘io性能指标 磁盘io速度多少
2025-03-18 01:41 - 立有生活网
磁盘读写速度测试 (IO测试)
高效云盘 40GiB (2120 IOPS), 磁盘读写速度基本在 102M/s
磁盘io性能指标 磁盘io速度多少
磁盘io性能指标 磁盘io速度多少
磁盘io性能指标 磁盘io速度多少
高效云盘 200GiB (3400 IOPS) , 磁盘读写速度基本在 129M/s
高效云盘 500GiB (5000 IOPS), 磁盘读写速度基本在 134M/s
ESSD云盘 PL1 200GiB (11800 IOPS),磁盘读写速度基本在 1M/s
SSD盘,磁盘读写速度基本在 377M/s
机械盘,磁盘读写速度基本在 102M/s
SSD盘,磁盘读写速度基本在 382M/s
性能评估-disk IO
性能评估-disk IO
一、磁盘原理
设备又名I/O设备,泛指计算机系统中除主机以外的所有外部设备。
1.1 计算机分类
1.1.1 按照信息传输速度分:
1.低速设备:每秒传输信息仅几个字节或者百个字节,如:键盘、鼠标等
2.中速设备:每秒传输信息数千个字节或者数万个字节,如:打印机
3.高速设备:每秒传输信息数数10万个字节,如:磁盘
1.1.2 按照信息交换单位分
1.字符设备:以字符为输入/输出信息的单位,如:键盘,显示终端
2.块设备:以数据块为单位输入/输出信息,如:磁盘
注:何为数据块:磁盘中常以一个扇区作为一个数据块,一个扇区就是一个读写单位
一、磁盘性能指标
1、测试磁盘性能,使用命令:dd
因数据写入磁盘,可能是缓存写,直接写(不经过缓冲区直接写入磁盘),顺序io,随机io的区别所以,这种dd测试并不是很准确。
这不是一个专业的测试工具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使用来对磁盘的读写速度作一个简单的评估.
在使用前首先了解两个特殊设备
/dev/null 伪设备,回收站.写该文件不会产生IO
/dev/zero 伪设备,会产生空字符流,对它不会产生IO
通过以上方法就可以大致知道,磁盘的性能了。
从这条命令中:我们知道:IOPS(每秒io请求数)是:6.。当前读速率是:0.44MB/s .写速率是:0.36MB/s
得出结论有:
每秒共有80个IO请求(IOPS=r/s+w/s),以写为主
io服务时间为1.56毫秒,平均等待服务时间为3.53毫秒
io队列深度为:2.4个
1、vmstat Block in /out
bi+bo过大,而且vmstat cpu wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。
2、IOwait time
iostat iowait% 小于25%,说明IO性能处于良好的状态;
3、util 磁盘使用率
一秒中有百分之多少的时间用于 I/O 作,或者说一秒中有多少时间 I/O 队列是非空的,即 delta(use)/s/1000 (因为use的单位为毫秒)
(1)如果 %util 接近 ,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
(2)idle小于70% IO压力就较大了,一般读取速度有较多的wait。
(3)同时可以结合vmstat 查看查看b参数(等待资源的进程数)和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高)。
4、await 平均等待时间
平均每次设备I/O作的等待时间 (毫秒).即 delta(ruse+wuse)/delta(rio+wio)
await 的大小一般取决于服务时间(svctm) 以及 I/O 队列的长度和 I/O 请求的发出模式。
(1)await 的参数要多和 svctm 来参考。的过高就一定有 IO 的问题。
(2)如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;
(3)如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核 elevator 算法,优化应用。
5、gqu-sz 平均I/O队列长度
(1)如果gqu-sz比较大,也表示有大量io在等待。
gqu-sz 也是个做 IO 调优时需要注意的地方,这个就是直接每次作的数据的大小,如果次数多,但数据拿的小的话,其实 IO 也会很小。如果数据拿的大,IO 的数据会高。也可以通过 gqu-sz × ( r/s or w/s ) = rsec/s or wsec/s。也就是讲,读写速度是这个来决定的。
由于 gqu-sz 是按照单位时间的平均值,所以不能反映瞬间的 I/O 洪水。
里面最重要的参数,actual disk read 和actual disk write 分别代表实际磁盘读写速度
然后下面,我们可以根据每一列进行io排序,就能知道io具体消耗是哪个进程导致的。
注意:TID代表的是线程号,如果是多线程的话,可以借助command 判断是哪个进程,也可以根据ps -eLf | grep TID 来获取到他的父进程号。
2.2.1 topas 获取是否存在io等待
仔细观察 “Wait”(在 CPU 部分的上部),如果改值较大则表示io可能存在瓶颈
2.2.2 获取io队列、IOPS、响应时间等
登录 AIX 作系统,输入 topas,然后按 D,会出现如下界面:
在上图中,hdisk2 的TPS 即为磁盘的 IOPS(每秒发出的io请求数),为 655;KBPS 即为磁盘每秒的吞吐量,为 163.9M;尤其是应该检查 ART/AWT 和 MRT/MWT,它们表示磁盘读写作的平均和等待时间。比较高的值表明磁盘非常忙。AQW 表示对 I/O 设备的每个请求的平均等待队列数量。同样,比较高的值表明磁盘的速度无法跟上请求的速度。
2.2.3 查看产生瓶颈的原因
1.可以使用其他工具(如 filemon、fileplace、lsof 或 lslv)帮助确定究竟是哪个进程、适配器或者文件系统导致了瓶颈。
2.可以使用ps -ef | grep "pid" 来查看当前进程所在执行的任务
find . -type f -size +100M -print0 | xargs -0 du -h | sort -nr
硬盘io性能
一,硬盘IO的延时
对于SQL 数据库系统,限制查询响应的主要因素是硬盘的延时,根据硬盘的物理构造(磁道和扇区),延时可以分为寻道延时和旋转延时:
寻道延时:硬盘的物理刺头移动并定位到所需数据的时间,
旋转延时:硬盘旋转到所需数据的时间,通常用MB/S,或IO吞吐量来衡量
在OLTP系统中,数据更新作较多,每次读取的数据量少,目标数据的位置相对随机(随机读写),因此,对于寻道延时要求更高,硬盘需要花费更多的寻道时间。
在DSS/DW系统中,事务的运行时间更长,数据相对静态,不常更新,读作比写作的要求更高,顺序读作占比很高,因此,IO吞吐量更重要,可以通过硬盘的盘面来增加顺序访问的IO吞吐量。
二,根据WaitType侦测IO性能
SQL 引擎把IO作为一个资源来看待,在多任务的现代数据库系统中,同一时刻会接收到很多查询请求,每一个查询请求都需要申请系统资源(CPU、内存和IO),才能继续执行下去,然而系统的资源是有限的,当查询争用资源时,有些查询请求资源得到满足,顺利执行下去,有些查询请求的资源得不到满足,该查询就被阻塞,处于等待资源分配的状态。当出现IO性能问题时,查询语句会被硬盘IO阻塞,这使得执行被迫挂起(或阻塞)来等待资源,SQL 通过DMV来显示系统运行的状态,用等待类型来表示不同的阻塞信息。
1,数据文件的IO
如果SQL 出现 IO 性能问题,那么在SQL 内部通过DMV sys.dm_exec_requests的wait_type,来反馈 IO 问题。如果查询请求的wait_type长时间处于PageIOLatch_XX,那么说明系统不能很快把数据读取到内存中。
PAGEIOLATCH_xx :用于描述数据页的IO争用,说明系统正在从硬盘加载数据到内存的Buffer Pool中
当SQL 要去读或写一个Page的时候,首先会在Buffer Pool里寻找,如果在Buffer Pool中找到了,那么读写作会继续进行,没有任何等待。如果没有找到,那么SQL 就会设置Wait_Type为PageIOLatch_EX(写)或PageIOLatch_SH(读),然后发起一个异步IO作,将页面读入Buffer Pool中,在IO没有完成之前,Request将会保持在PageIOLatch_EX(写)或PageIOLatch_SH(读)的等待状态。IO消耗的时间越长,等待的时间越长。
2,日志文件的写入
日志文件以写为主,工作量由修改命令激发的事务数量决定。当SQL 要写事务到日志文件时,如果Disk 不能及时完成IO请求,那么事务就无法提交,SQL 不得不进入WriteLog 等待状态,直到事务被成功记录到日志文件中,才会提交当前的事务。
如果request经常出现WriteLog的Wait type,说明事务日志的写请求不能被Disk及时完成,这种情况,对SQL 整体性能影响较大。
WRITELOG:在数据被修改时,在Log Cache和Buffer Cache中都会有记录,如果在Log Cache中的数据在checkpoint时写入硬盘,就会发生这种等待。
LOGBUFFER等待:很少出现,当一个任务正在等待存储日志到Log Buffer中时,就会出现LOGBUFFER等待,出现这种等待,说明日志所在的硬盘无法响应请求。如果把日志文件放在一个非常慢的硬盘上,而数据文件放在一个非常快的硬盘上,就会出现这种等待。
3,AYSNC_IO_COMPLIETION和IO_COMPLIETION也是IO瓶颈的潜在指标
AYSNC_IO_COMPLIETION:标识任务正在等待IO请求来完成作,当一个应用程序连接SQL ,在处理数据时变得非常慢,很可能就会出现这种类型的等待。
IO_COMPLIETION:发生在一个任务正在等待用于非数据页IO的IO作上,非数据页,一般是指日志文件,通常发生在修改大量修改,或者内存中存在大量的数据时。
三,影响读写性能的因素
数据库系统对IO的性能依赖较高,那么影响数据库系统读写性能的因素有哪些呢?
1,物理硬盘的IO能力
机械硬盘的IO速度没有固态硬盘快,可以考虑把数据库系统的机械硬盘更新为固态硬盘。
2,内存对硬盘IO的影响
在SQL Engine 访问数据时,如果相应的data不存在于Buffer Pool,那么Buffer Mar 从Disk中的Data File(mdf 或 ndf)中将相应的data page读取到内存中。SQL 将data page缓存起来。理想情况下,只要SQL 能够使用的内存充足,SQL 会将所有读取到内存的中Data Page缓存到Buffer Pool中。对于读取作,只要相应的数据都缓存在内存中,Select 就不会有任何硬盘IO。
当Buffer Pool空间不足时,SQL 激活 LazyWriter,主动将内存中一些很久没有使用的Data Cache和 Plan Cache 清除,mark为Free buffer,供其它Data Page使用。如果这些Page上的修改还没有被CheckPoint写回Disk,那么LazyWrite会将其写回。
3,碎片和压缩
如果数据页面或index 页面的碎片很多,每个页面存储的数据行较少,那么SQL 需要读写更多的Page。如果数据在页面里存储的非常紧凑,存储相同数据所消耗的Page越少,并且可以充分利用SQL 预读的优势,减少IO。
压缩技术不仅使数据占用的Disk 空间减少,而且能够减少IO。由于数据在写入Disk之间经过压缩处理,存储相同数据所消耗的Page减少,读取的Data Page会减少。压缩技术在一定程度上能够降低IO,但需要付出一定的代价:额外消耗少量的CPU和内存来解压缩。
4,利用多个物理硬盘实现Data File的并发读写
在DB中的FileGroup 创建多个File,将这些File存放到不同的Physical Disk上。File 分布到不同的Physical Disk上,IO也会分布到不同的Physical Disk上,这样能够实现数据的并发读取,提高读取性能。
对于日志文件,SQL 会频繁的写事务日志。只要数据库发生修改,就会不断地写入日志文件。如果不能及时完成日志文件的IO,会导致事务的延迟提交,对性能的影响较大,所以,尽量将日志文件放到写入速度快的Disk上。SQL 顺序写事务日志,在一个时间点,SQL 只会写一个日志文件。在不同的Physical Disk上创建多个log file对性能基本没有帮助。
5,工作负载
日志文件以写为主,工作量由修改命令申请的事务数量决定,日志文件是顺序写的,写入速度快于随机写。如果日志记录不能及时写入,那么Request会处于WriteLog等待状态,对系统整体性能影响较大。
数据文件写入的数据量由修改量决定,SQL 除了设置bulk logged 恢复模式之外,没有太大的调整选项。
数据文件读取的数据量,由访问的数据量和Buffer Pool中缓存的数据量共同决定。如果访问的数据量减少或者内存缓存区增加,都可以降低SQL 从Physical Disk读取的Data Page数量。在内存不变的情况下,可以通过优化查询语句,减少数据访问量,来提高SQL 数据文件的读取性能。
刘松仁电视剧在线观看 刘松仁90年代电视剧

大家好,今日欣欣来为大家解答以上的问题。刘松仁电视剧在线观看,刘松仁90年代电视剧很多人还不知道,现在让我们一起来看看吧! 1、《华丽转身》百度网盘高清资源免费在线观看链接: 提取···
三亚湾附近酒店 三亚湾附近酒店多少钱一晚

称号:【三亚湾御海】-的度酒店 三亚湾御海度酒店位于三亚市中心附近,背靠三亚湾新城,依山傍水,环境优美,交通便利。它被西岛、南山文化园景区、南海、天涯海角所环绕。温馨舒适的三亚···
女生为什么很少打乒乓球(女生为什么很少打乒

关于女生为什么很少打乒乓球,女生为什么很少打乒乓球的原因这个很多人还不知道,今天小蚪来为大家解答以上的问题,现在让我们一起来看看吧! 女生为什么很少打乒乓球(女生为什么很少打乒···