Submit Search
Upload
Linux I/O Scheduler
•
8 likes
•
2,024 views
Hesey
Follow
Linux I/O Scheduler Share
Read less
Read more
Technology
Report
Share
Report
Share
1 of 23
Download now
Download to read offline
Recommended
深入Docker的资源管理
深入Docker的资源管理
SpeedyCloud
Redis 常见使用模式分析
Redis 常见使用模式分析
vincent253
7 3常見儲存裝置管理範例
7 3常見儲存裝置管理範例
慧鈴 鍾
作業系統 7 3常見儲存裝置管理範例
作業系統 7 3常見儲存裝置管理範例
慧鈴 鍾
Ftn存储设计
Ftn存储设计
gzterrytan
Linux 教育訓練
Linux 教育訓練
Bo-Yi Wu
Redis分享
Redis分享
yiihsia
4.5
4.5
皓天 甘
Recommended
深入Docker的资源管理
深入Docker的资源管理
SpeedyCloud
Redis 常见使用模式分析
Redis 常见使用模式分析
vincent253
7 3常見儲存裝置管理範例
7 3常見儲存裝置管理範例
慧鈴 鍾
作業系統 7 3常見儲存裝置管理範例
作業系統 7 3常見儲存裝置管理範例
慧鈴 鍾
Ftn存储设计
Ftn存储设计
gzterrytan
Linux 教育訓練
Linux 教育訓練
Bo-Yi Wu
Redis分享
Redis分享
yiihsia
4.5
4.5
皓天 甘
吴岷 视频Cdn分发、调度与服务的探讨
吴岷 视频Cdn分发、调度与服务的探讨
drewz lin
硬件体系架构浅析
硬件体系架构浅析
frogd
IoTDB OptimizeAndCaseStudy
IoTDB OptimizeAndCaseStudy
JialinQiao
Redis介绍
Redis介绍
zhaolinjnu
云计算环境中Ssd在cassandra测试的性能表现
云计算环境中Ssd在cassandra测试的性能表现
july19850903
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
iammutex
Hdfs
Hdfs
jiang yu
IoTDB Ops
IoTDB Ops
JialinQiao
主库自动切换 V2.0
主库自动切换 V2.0
jinqing zhu
Java_07:Thread
Java_07:Thread
Brad Chao
排队论及其应用浅析
排队论及其应用浅析
frogd
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba
Cevin Cheung
Redis介绍
Redis介绍
yubao fu
Ch8 file system management(2013 ncu-nos_nm)
Ch8 file system management(2013 ncu-nos_nm)
Kir Chou
1221 探討 Windows Server 2008 WDS 部署服務
1221 探討 Windows Server 2008 WDS 部署服務
Timothy Chen
DBA学院课程之:MySQL故障诊断案例
DBA学院课程之:MySQL故障诊断案例
Hui Liu
MySQL查询优化浅析
MySQL查询优化浅析
frogd
Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用
Jinrong Ye
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
Will Huang
Linux学习
Linux学习
tonyhuang2008
Web并发模型粗浅探讨
Web并发模型粗浅探讨
Robbin Fan
Web并发模型粗浅探讨v3
Web并发模型粗浅探讨v3
乐费 胡
More Related Content
What's hot
吴岷 视频Cdn分发、调度与服务的探讨
吴岷 视频Cdn分发、调度与服务的探讨
drewz lin
硬件体系架构浅析
硬件体系架构浅析
frogd
IoTDB OptimizeAndCaseStudy
IoTDB OptimizeAndCaseStudy
JialinQiao
Redis介绍
Redis介绍
zhaolinjnu
云计算环境中Ssd在cassandra测试的性能表现
云计算环境中Ssd在cassandra测试的性能表现
july19850903
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
iammutex
Hdfs
Hdfs
jiang yu
IoTDB Ops
IoTDB Ops
JialinQiao
主库自动切换 V2.0
主库自动切换 V2.0
jinqing zhu
Java_07:Thread
Java_07:Thread
Brad Chao
排队论及其应用浅析
排队论及其应用浅析
frogd
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba
Cevin Cheung
Redis介绍
Redis介绍
yubao fu
Ch8 file system management(2013 ncu-nos_nm)
Ch8 file system management(2013 ncu-nos_nm)
Kir Chou
1221 探討 Windows Server 2008 WDS 部署服務
1221 探討 Windows Server 2008 WDS 部署服務
Timothy Chen
DBA学院课程之:MySQL故障诊断案例
DBA学院课程之:MySQL故障诊断案例
Hui Liu
MySQL查询优化浅析
MySQL查询优化浅析
frogd
Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用
Jinrong Ye
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
Will Huang
Linux学习
Linux学习
tonyhuang2008
What's hot
(20)
吴岷 视频Cdn分发、调度与服务的探讨
吴岷 视频Cdn分发、调度与服务的探讨
硬件体系架构浅析
硬件体系架构浅析
IoTDB OptimizeAndCaseStudy
IoTDB OptimizeAndCaseStudy
Redis介绍
Redis介绍
云计算环境中Ssd在cassandra测试的性能表现
云计算环境中Ssd在cassandra测试的性能表现
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
Hdfs
Hdfs
IoTDB Ops
IoTDB Ops
主库自动切换 V2.0
主库自动切换 V2.0
Java_07:Thread
Java_07:Thread
排队论及其应用浅析
排队论及其应用浅析
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba
Redis介绍
Redis介绍
Ch8 file system management(2013 ncu-nos_nm)
Ch8 file system management(2013 ncu-nos_nm)
1221 探討 Windows Server 2008 WDS 部署服務
1221 探討 Windows Server 2008 WDS 部署服務
DBA学院课程之:MySQL故障诊断案例
DBA学院课程之:MySQL故障诊断案例
MySQL查询优化浅析
MySQL查询优化浅析
Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
Linux学习
Linux学习
Similar to Linux I/O Scheduler
Web并发模型粗浅探讨
Web并发模型粗浅探讨
Robbin Fan
Web并发模型粗浅探讨v3
Web并发模型粗浅探讨v3
乐费 胡
Nosql三步曲
Nosql三步曲
84zhu
开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)
Feng Yu
数据库性能模型与容量规划
数据库性能模型与容量规划
freezr
Java应用性能测试与分析
Java应用性能测试与分析
Frank Lee
Mysql调优
Mysql调优
ken shin
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践
丁 宇
System optimize experience
System optimize experience
召仁 刘
MongoDB at Qihoo 360
MongoDB at Qihoo 360
MongoDB
System optimize experience
System optimize experience
召仁 刘
Exadata那点事
Exadata那点事
freezr
20110625.【打造高效能的cdn系统】.易统
20110625.【打造高效能的cdn系统】.易统
锐 张
搶救資料庫效能大作戰
搶救資料庫效能大作戰
Rico Chen
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化
丁 宇
基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送
OpenRestyCon
賽門鐵克 NetBackup 7.5 完整簡報
賽門鐵克 NetBackup 7.5 完整簡報
Wales Chen
DNS协议与应用简介
DNS协议与应用简介
琛琳 饶
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事
Chieh (Jack) Yu
分布式缓存与队列
分布式缓存与队列
XiaoJun Hong
Similar to Linux I/O Scheduler
(20)
Web并发模型粗浅探讨
Web并发模型粗浅探讨
Web并发模型粗浅探讨v3
Web并发模型粗浅探讨v3
Nosql三步曲
Nosql三步曲
开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)
数据库性能模型与容量规划
数据库性能模型与容量规划
Java应用性能测试与分析
Java应用性能测试与分析
Mysql调优
Mysql调优
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践
System optimize experience
System optimize experience
MongoDB at Qihoo 360
MongoDB at Qihoo 360
System optimize experience
System optimize experience
Exadata那点事
Exadata那点事
20110625.【打造高效能的cdn系统】.易统
20110625.【打造高效能的cdn系统】.易统
搶救資料庫效能大作戰
搶救資料庫效能大作戰
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化
基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送
賽門鐵克 NetBackup 7.5 完整簡報
賽門鐵克 NetBackup 7.5 完整簡報
DNS协议与应用简介
DNS协议与应用简介
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事
分布式缓存与队列
分布式缓存与队列
Linux I/O Scheduler
1.
Linux I/O Scheduler
沐剑
2.
访问磁盘的过程
3.
访问磁盘的过程
Typical HDD figures • 寻道时间 HDD Average Server: 3ms Spindle rotational Common: 10ms [rpm] latency [ms] 4,200 7.14 • 旋转延迟 5,400 5.56 平均半圈 7,200 4.17 10,000 3.00 15,000 2.00 • 存取时间=平均寻道时间+平均旋转延迟 • 数据读取时间 <1ms,忽略丌计 • 影响IOPS的主要因素:寻道时间
4.
SATA II
SAS 7200 RPM IOPS: ~90 15K RPM IOPS: ~180
5.
SATA II Intel X25-M
IOPS: ~8600
6.
访问磁盘的过程 •
如何让磁盘读写更快 减少寻道时间(避免磁头移动开销) 让磁头旋转一圈读写更多相邻扇区的数据(顺序读写)
7.
扇区 •
操作系统视角 逻辑块序列 • 硬件视角 物理扇区 • 磁盘控制器 映射「逻辑块」->实际物理扇区
8.
读取一个扇区 •
CPU->磁盘控制器 读某个逻辑块号 • 磁盘控制器 快速表搜索 逻辑块号->(盘面,磁道,扇区)三元组,唯一标示物理扇区 • 机械移动(寻道、旋转) • 拷贝主存
9.
• I/O调度器的层级结构
10.
I/O子系统
11.
Block I/O Layer
12.
I/O调度器 •
目标 减少寻道时间,让旋转一圈读取更多扇区 • 任务 1、管理块设备请求队列 2、分配I/O资源给请求 • 做法 合并 + 排序
13.
合并 •
同一或多个相邻扇区的请求 —— 合并 ——> 一次I/O • 一次I/O对应一条寻址指令 • 减少系统开销和寻址次数
14.
排序 •
I/O请求按照扇区增长排列 • Sorted Queue
15.
• 几种I/O调度器
16.
Linus电梯 •
简单的合并+排序 • 避免请求饥饿 梱测到队列中有长期没有被处理的请求,那么就暂时中止插入 • 缺点 I/O调度器并没有真正去处理饥饿请求,而是采取了一种间接的方式,所以很 有可能饥饿的请求依旧饥饿,并没有解决实质问题
17.
Deadline •
带超时的调度算法 • 3个I/O Queue Read Queue(default timeout: 500ms) FIFO Write Queue(default timeout: 5000ms) FIFO Sorted Queue • 缺点 当系统存在大量顺序请求时,可能导致请求无法被很好地排序,引发频繁寻 道,比较适合随机访问多、时效性高的场景
18.
Deadline •
权衡了全局吞吐量和系统延迟 • 请求同时插入Read/Write Queue和Sorted Queue • writes_starved 避免写饥饿,当写饥饿次数达到writes_starved,写请求会被立即处理
19.
Anticipatory (AS) •
2.6.18之前默认的I/O调度器 基于预测算法 主要是为了解决Deceptive idleness问题 • 处理完一个请求,丌直接处理下一个请求,而是针对上一个请求的进程等待 片刻,如果该进程发出一个不当前扇区相同或相邻扇区的请求,则优先处理 • 默认等待6ms • 如果系统存在大量相邻扇区请求,性能会很好
20.
CFQ •
2.6.18之后默认的I/O调度器 每个提交I/O请求的进程都有一个自己单独的Sorted Queue • 在一个时间片中,CFQ调度器选择一个进程,处理其I/O队列 • 丌是简单的轮询,基于红黑树选择进程(进程优先级) • 特点是保证各个进程的I/O请求能被均衡处理 • 也有类似AS的等待机制 • QUEUE_FLAG_NONROT
21.
NOOP •
面向随机访问设备(例如SSD) • 我们只做合并,元芳,你怎么看? • 对于SSD 选择NOOP还是Deadline? Deadline平衡读写比例
22.
Benchmark Red Hat Enterprise
Linux 4 I/O schedulers vs. Red Hat Enterprise Linux 3 for database Oracle 10G oltp/dss (relative performance)
23.
谢谢!
Download now