• ninuxer
    2019-01-30
    打卡day32
    找io问题,有了一定的套路,但是针对这节写的优化的东西,吸收起来还是比较费劲,比如:为什么要调这个参数,而不是其他参数?为什么参数设置这个值而不是其他值?
    关于设置值可以通过fio去测试,io性能提升了,满足要求,就可以了,但是io好了,会不会带来其他方面的影响?
    综上所述,还是基础不牢,最近已经开始啃《深入Linux内核架构》,不忘初心,砥砺前行!

    作者回复: 嗯嗯,是的,并且这些东西也没法在这儿展开来讲,每一块涉及的东西都比较多。实际在操作之前,还需要去了解背后的原理,特别是要注意会不会带来其他不好的影响(比如优化了I/O,CPU和内存使用可能上升)。

     1
     8
  • JohnT3e
    2019-01-30
    现在越来越多系统使用SSD,它和HDD相比还是有较大差异的。经常看到某某系统针对于SSD优化,那这边的有哪些优化点?之前看过一个系列的文章(http://codecapsule.com/2014/02/12/coding-for-ssds-part-1-introduction-and-table-of-contents/),从硬件架构到编程设计比较详细的介绍了如何优化,配合这里的思路看,加深了理解。

    作者回复: 赞,谢谢分享

    
     3
  • 风动草
    2019-04-29
    老师好!我们最近发生了一件非常诡异的问题,mysql从普通票迁移到ssd后,内存使用一直飙升,迁回普通票又正常,mysql内存配置是操作系统的20%。希望老师能给个分析建议,给你发个大红包,实在没办法了。

    作者回复: 飙升到多少?超过20%吗?可以考虑检查buffer的配置项、临时表大小等看看内存都耗费在哪里了 https://dev.mysql.com/doc/refman/5.7/en/memory-summary-tables.html

    
     2
  • 我来也
    2019-01-31
    [D31打卡]
    平常没机会从系统层面优化磁盘性能参数。
    能做的就是减少磁盘写入,以及错峰操作磁盘。
    比如在凌晨或业务低谷时,压缩备份日志,减少对正常业务的影响。
    文中的这么多底层参数,只能望而生叹。😄

    作者回复: 嗯嗯,一般来说,从应用层优化可以满足大部分需求了

    
     1
  • 梁中华
    2019-01-30
    针对Ssd 的特性和注意事项可以考虑单开一章

    作者回复: 嗯嗯,其实抠细节的话,每一条都可以单独开一章了。篇幅有限,只能大略介绍一下

    
     1
  • xfan
    2019-01-30
    谢谢@ninuxer推荐 《深入Linux内核架构》,我也去补一补

    作者回复: 👍

    
     1
  • Ender0224
    2019-01-30
    所以请问如何安全的使用fio呢, 是单独使用一个device用来测试fio么?

    作者回复: 安全的使用fio是什么意思?一般来说,测试时别在系统盘或者存有重要的磁盘中来操作

     1
     1
  • 小老鼠
    2019-01-30
    整理磁盘碎块
    
     1
  • 花晨少年
    2020-01-03
    第四,在需要频繁读写同一块磁盘空间时,可以用 mmap 代替 read/write,减少内存的拷贝次数。
    -------
    这句话有些不懂,mmap是跳过了哪个步骤,页面缓存吗,页面缓存不是就是为了解决频繁从磁盘读取而设计的吗?
    还是说直接把页面缓存直接映射到用户的虚拟内存空间中?
     1
    
  • loser
    2019-11-15
    干货满满
    
    
  • 李明华
    2019-10-18
    大神好:
    我在生产的一台新上架的服务器上,测试了随机读的磁盘指标
     sudo fio -name=randread -direct=1 -iodepth=64 -rw=randread -ioengine=libaio -bs=4k -size=2G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/sda
    ---------------------------------------------------------------------------
    结果
        slat (usec): min=2, max=151, avg=13.73, stdev= 7.29
        clat (usec): min=37, max=948718, avg=20301.72, stdev=27583.37
         lat (usec): min=44, max=948725, avg=20315.79, stdev=27583.38
        clat percentiles (usec):
         | 1.00th=[ 109], 5.00th=[ 2040], 10.00th=[ 3163], 20.00th=[ 5080],
         | 30.00th=[ 6783], 40.00th=[ 8455], 50.00th=[ 10552], 60.00th=[ 14222],
         | 70.00th=[ 19268], 80.00th=[ 28181], 90.00th=[ 47449], 95.00th=[ 70779],
         | 99.00th=[137364], 99.50th=[170918], 99.90th=[252707], 99.95th=[287310],
         | 99.99th=[367002]
       bw ( KiB/s): min=10184, max=17664, per=99.73%, avg=12564.09, stdev=1256.26, samples=332
       iops : min= 2546, max= 4418, avg=3141.02, stdev=314.09, samples=332
    从而可以看出 ,随机读的极限也就在 iops:4418 读吞吐量在 17.25M IO使用率也差不多极限了

    同时iostat 也观察了磁盘的指标
    Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
    sda 3876.00 0.00 15504.00 0.00 0.00 0.00 0.00 0.00 16.48 0.00 55.94 4.00 0.00 0.26 100.00

    Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
    sda 3846.00 5.00 15384.00 1064.00 0.00 0.00 0.00 0.00 16.46 2521.40 68.18 4.00 212.80 0.26 100.00

    读IOPS在3800-3900 吞吐量在15.5M IO使用率已经100%

    而我生产(大量小文件场景,应该是随机IO)使用promethes的node_exporter采集的指标中 读吞吐量 可以达到73M+ 这个感觉差的有点大 ??? 这个是哪里不对吗??? iops 不高 最多两千多
    +++++++++++++++++++++++++++++++++++++++++++++++++++
    另外就是
    我通过监控发现 IO使用率 有时候iops和吞吐量不多 范围100% 而多的反问不到100% cpu也正常 不搞
    我还能通过其他方面查看问题吗
    展开

    作者回复: 检查一下是不是指标的计算方法有问题?

    
    
  • 404
    2019-09-12
    能否详解一下 队列长度 的意思和对磁盘的影响
    
    
  • Darrykinger.com
    2019-08-24
    你像fio和blkstrace 的工具,这个是在批量采购之前进行磁盘的性能的评估吧,在生产环境中用并不是很多吧?有点像是产品上线的设备选购。。

    作者回复: 嗯嗯,在采购之后一般也要测评一下,看看是不是跟预期一样

    
    
  • 风动草
    2019-06-24
    不止超过20%,比如所有全局和线程级别的加起来,用你给的链接算最大使用内存是8g,但还是使用能达到12g,最后oom。但迁移到普通票这个现象就消失了。。。迁移到ssd就是有这个问题,迁移了几次,结果都这样。
    
    
  • InfoQ_686548eeb0d8
    2019-06-15
    磁盘可以收缩具体指的什么?
    
    
  • Geek_96e358
    2019-04-11
    老师,新购的服务器是不是应该做一个基准测试,方便以后作为性能问题定位的基准?

    作者回复: 嗯嗯,推荐测试一下,也可以顺便确认新机器的性能没有问题(同配置的性能应该大致相同)

    
    
  • 如果
    2019-03-19
    DAY31,打卡
    
    
  • 苦行僧
    2019-03-06
    老师 我们经常会出现写文件出现0k文件 这种一般是什么情况会出现的?
    
    
  • 苦行僧
    2019-03-04
    我们现在的问题就是并发机器下载远程ftp视频文件写本地存储,这个本地存储是共享存储,目前的情况是读快写慢,导致数据落盘很慢,老师有没有好的优化方法吗?

    作者回复: 磁盘I/O已经是瓶颈的话,可以考虑优化存储,比如更快的磁盘、RAID 等

    
    
  • 小橙子
    2019-02-22
    slat指的是II从创建到提交到内核的时间吧
    clat的指的是每个收到到完成的时间吧
    感觉这里解释的有点没看明白
    请教下同步IO为啥ClAT为0

    作者回复: 看英文注释,一个是Submission,一个是Completion。

    同步ClAT为0是因为两个操作算作是一个(第一个),第二个当然数值上就是0了

    
    
我们在线,来聊聊吧