简述总结

磁盘IO调度算法由linux内核提供支持,在各种linux发行版都可以设置并适用
1、查询磁盘名称

lsblk

2、查看具体盘的算法策略
suse与kylin操作系统查看方法一致

cat /sys/block/sdx具体盘名称/queue/scheduler
如:cat /sys/block/sda/queue/scheduler
显示结果中方括号括住的为当前磁盘IO调度算法

3、临时调整磁盘IO调度算法,重启失效
suse与kylin操作系统查看方法一致
以mq-deadline举例

echo mq-deadline >/sys/block/sdx具体盘名称/queue/scheduler

4、永久调整磁盘IO调度算法
a.kylin操作系统

方法一:可对单个磁盘进行调整,如磁盘设备号发生变化需即使调整/etc/rc.d/rc.local对应磁盘号内容
vi /etc/rc.d/rc.local
加入以下内容
echo mq-deadline >/sys/block/sdx具体盘名称/queue/scheduler
退出保存(:wq!)后重启操作系统(reboot)
方法二:对所有磁盘进行调整,即使因磁盘增减导致设备号发生变化也不影响
vi /lib/udev/rules.d/60-block-scheduler.rules
将双引号中的算法替换为mq-deadline
退出保存(:wq!)后重启操作系统(reboot)

b.suse操作系统

方法一:可对单个磁盘进行调整
vi /etc/init.d/after.local
添加以下内容
echo noop > /sys/block/sdx具体盘名称/queue/scheduler
退出保存(:wq!)后重启操作系统(reboot)
方法二:对所有磁盘进行调整
修改grub配置文件
vi /etc/default/grub
在GRUB_CMDLINE_DEFAULT=最后加上要使用的算法
GRUB_CMDLINE_DEFAULT="...省略...,high elevator=noop"
退出保存(:wq!)
grub2-mkconfig -o /boot/grub2/grub.cfg
重启操作系统(reboot)

详细解释

背景

数据库测试中通过查看报表发现日志落盘等待时间异常久,单独对磁盘读写性能测试发现磁盘类型(SSD)及读写速率均正常,考虑到物理机未设置操作系统的相关参数,逐步排查发现磁盘调度算法为kylin v10默认的bfq算法,调整磁盘算法为noop/mq-deadline后,数据库性能测试结果大幅提高。

kylin几种调度算法及适用场景

bfq(suse对应为cfq)

cfq(completely fair queuing),完全公平调度算法, 简单来说根据不同优先级(比如IO优先级)给所有同步进程分配不同的队列长度和时间片,CFQ均匀地分布对IO带宽的访问,在调度器分配给进程的时间片内,进程可以将其读写请求发送给底层块设备,当进程的时间片消耗完,进程的请求队列将被挂起,等待调度。
特点: 这种算法不按照先来后到的顺序;确保单个任务永远不会使用IO带宽;侧重于提供最低的延迟,而不是最大的吞吐量
适用场景: 适用于有大量进程的多用户系统,适合于桌面系统和交互式多任务及多媒体应用。

mq-deadline(suse对应为deasline)

DEADLINE算法(截止时间调度): 分别为读I/O和写I/O提供不同的FIFO队列,将请求排序为读或写批量处理,读FIFO队列的最大等待时间是500ms,写FIFO队列的最大等待时间是5s。deadline会把提交时间相近的请求放在一批。在同一批中,请求会被排序。当一批请求达到了大小上限或着定时器超时,这批请求就会提交到设备队列上去。(mq-deadline)按照逻辑块寻址(LBA)递增顺序安排他们的执行,读批处理优先于写批处理,因为应用程序更有节能阻塞读IO操作
特点: 在CFQ的基础上,deadline确保请求在一个用户可配置的时间内得到响应,避免请求饿死。
适用场景: 大多数场景,尤其是读操作比写操作频繁的情况,IO任务比较重的web、数据库服务器。

kyber

适用场景: 虚拟机、快速设备

none(suse 对应为noop)

NOOP, No Operation. 什么都不做,请求来一个处理一个,实现先进先出掉队算法
适用场景: SSD固态硬盘

linux操作系统SSD磁盘IO调度算法及配置方法[特指kylin、suse]相关推荐

  1. cacti监控linux和windows磁盘IO

    cacti监控linux和windows磁盘IO 标签:cacti linux磁盘IO windows磁盘IO 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则 ...

  2. 更改as的默认gradle地址_面试官:谈谈这4种磁盘IO调度算法--CFQ、NOOP、Deadline、AS...

    概述 今天主要分享下磁盘IO调度算法,虽然对于我们平时只需要设置deadline就行了,不过了解下它的4种算法也还是不错的. I/O 调度算法 I/O 调度算法在各个进程竞争磁盘I/O的时候担当了裁判 ...

  3. Linux操作系统下的一些简单网络配置命令

    Linux操作系统下的一些简单网络配置命令 转载请注明出自雨林木风 bbs.ylmf.com,本贴地址:http://bbs.ylmf.com/read.php?tid=399679&u= 使 ...

  4. Linux操作系统下SSH默认22端口修改方法

    NO 1: 01假如要改SSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config中Port 22,这里把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同哦,以防造 ...

  5. linux分区变为空闲,分析linux系统中磁盘空闲空间的管理方法

    分析linux系统中磁盘空闲空间的管理方法 汪建国 摘要:要把文件信息存放在存储介质上,必须先找出存储介质上可供使用的空闲块.如何实现存储空间的分配和收回,取决于对空闲块的管理方法,主要有两种对磁盘存 ...

  6. Linux下查看磁盘挂载的三种方法

    Linux下查看磁盘挂载的三种方法 2009-06-05 23:17 好久没有更新日志了,呵呵.不是没有要写的东东.实在抽不出时间来写,要准备公司的考试呢,C++考试.已经有七个月没有写C++代码了, ...

  7. oracle xe 乱码_关于Linux操作系统下终端乱码的完美解决方法

    初入linux的程序员们,经常会受到乱码的问候.可谓"始乱终弃".因为乱码,并且最终放弃了linux的不在少数.好吧,言归正传,先看看各类乱码是怎么形成的. 中文字符乱码 这种情况 ...

  8. linux中apache配置文件在哪,linux网站服务Apache的安装与配置方法详解

    这篇文章介绍下linux网站服务apache的安装与配置方法,包括挂载光盘,安装http服务,管理httpd服务,httpd的配置文件几大部分.具体详情可以参考下文. 1.挂载光盘 自己习惯将光盘挂载 ...

  9. 禾瑞亚USB接口电阻触摸屏控制卡QNX 6.5 RTOS操作系统x86架构驱动安装与配置方法

    禾瑞亚USB接口电阻触摸屏控制卡QNX 6.5 RTOS操作系统x86架构驱动安装与配置方法 前提条件:安装QNX 6.5 RTOS操作系统的主板的USB接口必须能够被操作系统识别,否则连接不到触摸屏 ...

  10. linux块设备的IO调度算法和回写机制

    ************************************************************************************** 參考: <Linux ...

最新文章

  1. 数据科学工具 Jupyter Notebook 教程(二)
  2. 例解 autoconf 和 automake 生成 Makefile 文件
  3. glVertexPointer
  4. fcode-页面九宫格自动锁屏jquery插件
  5. Briage桥接设计模式
  6. Renascence架构原理——最优化算法
  7. Android IPC系列(一):AIDL使用详解
  8. 程序猿果真有前端后端client吗
  9. 计算机科学与技术收获,工作人员参加计算机科学与技术在职研究生学习收获大吗?...
  10. Silverlight Telerik控件学习:主题Theme切换
  11. python键盘输入转换为列表_Python键盘输入转换为列表的实例
  12. 深入解析AsyncTask
  13. 用VMware GSX和W2K群集服务实现Exchange群集
  14. Vue:使用vue-json-excel导出数据到excel
  15. 算法:回溯六 Permutations II数组全排列II
  16. 计算机辅助机械设计实训教程,机械设计教学中计算机辅助设计应用
  17. 双样本T检验-P-T和T-T检验
  18. 樊登读书会掌控读后感_在樊登读书会读《掌控习惯》(读后感)
  19. Python format 格式化输入字符对不齐解决
  20. 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(10月31日~11月6日)...

热门文章

  1. CSS3实现酷炫导航
  2. Arcade小游戏教程(1)
  3. shiro认证时出现报错Submitted credentials for token [org.apache.shiro.authc.UsernamePasswordToken - admin...
  4. 计算机课对分课堂,高职计算机对分课堂教学模式研究.doc
  5. 金九银十,从简历投递到offer审批,入职腾讯我只用了七天
  6. 【灯塔】11.8总结
  7. 一篇文章让你Docker从入门到精通
  8. httpcanary动态注入_HttpCanary
  9. Java JDBC与数据库还有数据库在微服务中的并发和一致性等原理(以及前后端分离之大坑)(了解web servet以及web部署服务器和docke部署前端)(六)(非常之重点和全貌学习)
  10. 通州区机器人比赛活动总结_2018年通州区中小学生机器人智能大赛开赛