IO性能相关

1、IO性能解决方案整理

网卡性能优化方案

      绑定中断 至特定CPU

       减少接口属性设置

       数据包打入CPU标签,提升缓存命中

磁盘随机读写优化方案

      批量读写

      寻道更快、转速更高的硬盘

       内存作为缓存

       SSD

       RAID

磁盘顺序读写优化方案

       RAID

        SSD

2、磁盘性能测试

目前常用的存储介质有磁盘、SSD、Flash、内存(临时存储)。

存储加速技术有RAID、SAN、云硬盘等。

iops(每秒执行的IO次数)、bw(带宽,每秒的吞吐量)、lat(每次IO操作的延迟)

当每次IO操作的block较小时,如512bytes/4k/8k等,测试的主要是iops。

当每次IO操作的block较大时,如256k/512k/1M等,测试的主要是bw。

 

iops——写测试 dd if=/dev/zero of=./a.dat bs=8k count=1M oflag=direct

iops——读测试 dd if=./a.dat of=/dev/null bs=8k count=1M iflag=direct

bw——写测试 dd if=/dev/zero of=./a.dat bs=1M count=8k oflag=direct

bw——读测试 dd if=./a.dat of=/dev/null bs=1M count=8k iflag=direct

 

为何随机是关注IOPS,顺序关注吞吐量?

因为随机读写的话,每次IO操作的寻址时间和旋转延时都不能忽略不计,而这两个时间的存在也就限制了IOPS的大小;而顺序读写可以忽略不计寻址时间和旋转延时,

主要花费在数据传输的时间上。

但是编写应用程序时,是无法控制随机和顺序读写的,应用层无法保证,操作系统(确切地说是文件系统)会自动追求。

如果你想保证写入是顺序的,那么你需要直接操作磁盘,而不是文件系统,同时你需要维护当前从盘的数据,写的时候不会覆盖原有的数据总的来说,

为了这个的性能提升去开发这么一个系统是不太划算的,当然Google这么做了,不代表这么做是最合适的;直接换ssd带来的性能提升是这种方式的提升的数百倍

应用程序要保证的是尽可能的利用缓存,以提高文件读写的效率。不能一个字节一个字节的立刻写到硬盘里面去,而是要一块数据一起交给文件系统去写。

3、大页内存

除了标准的4KB内存页,你最大可以定义 1GB 的页面大小。在系统启动期间,你能用“大内存页”为应用程序预留一部分内存。这部分内存,

即被“大内存页”占用的这些存储器永远不会被交换出内存。它会一直保留其中,除非你修改了配置。这会极大地提高像 Oracle 数据库这样的需要海量内

存的应用程序的性能。

通过启用“大内存页”,系统具只需要处理较少的页面映射表,从而减少访问/维护它们的开销!

在通用程序中也可以使用大页内存。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值