版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、了解IO协议栈核心系统数据库组 余锋淘宝褚霸2012-03-181提纲IO子系统架构图IO子系统各层分解IO请求事件跟踪点blktrace/btt解释2IO子系统架构图3$stap -l ioscheduler.*ioscheduler.elv_add_requestioscheduler.elv_completed_requestioscheduler.elv_next_requestblktrace$stap -l ioblock.*ioblock.endioblock.requestDM层块层框图4buffered iommapdirect io思考IO子系统有几层?各层的输入输出分别是
2、什么?5块层probe ioblock.request Fires whenever making a generic block I/O be ioblock.end Fires whenever a block I/O transfer is complete.6DM 层7LVM2(Linux Volume Manager 2 version)EVMS(Enterprise Volume Management System)dmraid(Device Mapper Raid Tool)请求队列/电梯probe ioscheduler.elv_add_request.k
3、p- kprobe based probe to indicate that a request was added to the request queueprobe ioscheduler.elv_next_request Fires when a request is retrieved from the request queueprobe ioscheduler.elv_completed_request Fires when a request is completed8调度器参数微调9文档参考:Documentation/block/deadline-iosched.txt #
4、cat /sys/block/sda/queue/scheduler noop anticipatory deadline cfq 思考电梯算法的核心作用是什么?10驱动程序中断平衡/proc/irq/IRQ/smp_affinity软中断平衡 /sys/block/DEV/queue/rq_affinity11块请求关键事件点12 block:block_rq_abort block:block_rq_requeue block:block_rq_complete block:block_rq_insert block:block_rq_issue block:block_bio_bounc
5、e block:block_bio_complete block:block_bio_backmerge block:block_bio_frontmerge block:block_bio_queue block:block_getrq block:block_sleeprq block:block_plug block:block_unplug_timer block:block_unplug_io block:block_split block:block_remap block:block_rq_remap$perf list|grep “block:”或者 $trace-cmd li
6、st |grep block:*$stap -l kernel.trace(“block_*”)Tracepoint解释C - complete A previously issued request has been completed. D - issued A request that previously resided on the block layer queue or in the i/o scheduler has been sent to the driver.I - inserted A request is being sent to the i/o scheduler
7、 for addi-tion to the internal queue and later service by the driver.Q - queued This notes intent to queue i/o at the given location.B - bounced The data pages attached to this bio are not reachable by the hardware and must be bounced to a lower memory location. 13Tracepoint解释(续)M - back merge A pre
8、viously inserted request exists that ends on the boundary of where this i/o begins, so the i/o scheduler can merge them together.F - front merge Same as the back merge, except this i/o ends where a previously inserted requests starts.G - get request To send any type of request to a block device, a s
9、truct request container must be allocated first. S - sleep No available request structures were available, so the issuer has to wait for one to be freed.14Tracepoint解释(续)P - plug When i/o is queued to a previously empty block device queue, Linux will plug the queue in anticipation of future ios bein
10、g added before this data is needed.U - unplug Some request data already queued in the device, start sending requests to the driver.T - unplug due to timer If nobody requests the i/o that was queued after plugging the queue, Linux will automatically unplug it after a defined period has passed.X - spl
11、it On raid or device mapper setups, an incoming i/o may straddle a device or internal zone and needs to be hopped up into smaller pieces for service.A - remap For stacked devices, incoming i/o is remapped to device below it in the i/o stack.15思考如何可视化IO请求生命期?16IO行为观察17不觉得信息量太少吗?blktrace架构图18blktrace可
12、过滤事件barrier: barrier attributecomplete: completed by driverfs: requestsissue: issued to driverpc: packet command eventsqueue: queue operationsread: read tracesrequeue: requeue operationssync: synchronous attributewrite: write tracesnotify: trace messagesdrv_data: additional driver specific trace19bt
13、race第一感20blkiomon21btt# blktrace /dev/sdb# blkparse -i sdb -d sdb.bin# blkrawverify sdb# btt -i sdb.bin -A 22btt: Life of an I/OQ2I time it takes to process an I/O prior to it being inserted or merged onto a request queue Includes split, and remap timeI2D time the I/O is “idle” on the request queueD
14、2C time the I/O is “active” in the driver and on the deviceQ2I + I2D + D2C = Q2CQ2C: Total processing time of the I/O23btt解读= All Devices = ALL MIN AVG MAX N Q2Q 0.000007098 0.085323752 1.189534849 14Q2G 0.000000685 0.000001737 0.000004757 12G2I 0.000000272 0.000001724 0.000004240 12Q2M 0.000000475
15、0.000001036 0.000001362 3I2D 0.000002502 0.000244633 0.002238651 12M2D 0.000004870 0.000065011 0.000178722 3D2C 0.000055488 0.000145720 0.000219068 15Q2C 0.000062048 0.000357405 0.002303758 1524btt解读(续)= Device Overhead = DEV | Q2G G2I Q2M I2D D2C | ( 8, 16) | 0.3889% 0.3859% 0.0580% 54.7575% 40.771
16、7% | Overall | 0.3889% 0.3859% 0.0580% 54.7575% 40.7717%25btt解读(续)= Device Merge Information = DEV | #Q #D Ratio | BLKmin BLKavg BLKmax Total | | ( 8, 16) | 15 12 1.2 | 8 10 24 12026btt解读(续)= Device Q2Q Seek Information = DEV | NSEEKS MEAN MEDIAN | MODE | | ( 8, 16) | 15 620978236.7 0 | 0(5) | | Ove
17、rall | NSEEKS MEAN MEDIAN | MODE Average | 15 620978236.7 0 | 0(5)= Device D2D Seek Information = DEV | NSEEKS MEAN MEDIAN | MODE | | ( 8, 16) | 12 776222795.9 0 | 0(2) | | Overall | NSEEKS MEAN MEDIAN | MODE Average | 12 776222795.9 0 | 0(2)27btt解读(续)= Plug Information = DEV | # Plugs # Timer Us |
18、% Time Q Plugged | | ( 8, 16) | 5( 1) | 0.226614061% DEV | IOs/Unp IOs/Unp(to) | ( 8, 16) | 0.8 1.0 | Overall | IOs/Unp IOs/Unp(to) Average | 0.8 1.028btt解读(续)= Active Requests At Q Information = DEV | Avg Reqs Q | ( 8, 16) | 0.929思考除了用户应用,谁还在使用块层?30页面回写机制31$stap l kernel.function(congestion_wait)$perf list|grep writeback:“writeback:writeback_nothread . writeback:writeback_nowork writeback:writeback_bdi_register writeback:writeback_bdi_unregister writeback:writeback_task_sta
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教部编版四年级语文上册《快乐读书吧》精美课件
- 算法设计与分析 课件 8.3-分支限界 - 典型应用 - 0-1背包问题
- 2024年葫芦岛烟台客运上岗证考试题
- 2024年长沙客运驾驶员从业资格考试系统
- 2024年沈阳c1客运资格证模拟考试题
- 2024年合肥小车客运从业资格证考试
- 2024年河南2024年客运从业资格证模拟考试题库
- 吉首大学《高级语言程序设计A实验》2021-2022学年期末试卷
- 吉林艺术学院《数字娱乐导论》2021-2022学年第一学期期末试卷
- 2024年供销衣服合同范本大全
- 小学二年级数学上册期中试卷(全套)
- 2024二十届三中全会知识竞赛题库及答案
- 消化系统常见疾病课件(完美版)
- 医院检验外包服务项目招标文件
- 档案整理及数字化服务方案
- 《正确认识缓解焦虑》调节考试焦虑正确迎考主题班会课件
- 枸杞多糖的提取与分离
- 机构编制重要法规文件汇编
- 人教版八年级地理(上册)期中试卷及答案(完整)
- 新课标高中生物全套思维导图
- 九年级第一学期数学期中考试试卷细目表(沈军)
评论
0/150
提交评论