WindowsIO资源隔离方案.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WindowsIO资源隔离方案

Windows IO资源隔离 方案分享 淘宝核心系统鸣嵩(@曹伟-鸣嵩) 2013/8/12 项目背景 • 聚石塔RDS的SQL Server数据库 – 高配物理机96G 内存12块SSD盘 – 一台物理机运行多个SQL Server进程,卖给不同客户 – Windows缺少IO资源隔离机制,进程IO行为会相互干扰 • 硬件厂商Fusion IO、LSI方案 – 依赖固件,或和固件绑定 – 评测中不能定量控制IOPS,无法产品化 • 集团内部悬赏1万元征求方案 需求 • 需要一个Windows版的Cgroup blkio方案 – 以进程组为单位进行控制 • 一个进程组包含多个进程 • 为进程组设置IOPS配额,可以动态调整 • 该组内的进程共享IOPS配额 • 支持查询进程组、组内每个进程的IO计数器 – 性能 • 压力足够时,IOPS值不能有明显波动 • IO控制带来的额外的CPU开销不能超过5% Windows IO系统 ntdll.dll陷入内核 创建IRP 在驱动层之间传递IRP IRP结构 • 请求类型 – IRP_MJ_READ – IRP_MJ_WRITE • I/O stack location数组 – 每个驱动层对应一个entry – 存储驱动层的上下文数据 IRP处理流程图 文件系统驱动层VS 设备驱动层 • 在文件系统层做IO控制 – Pros • 与具体设备类型无关 • 可以跨设备控制多个设备上的IO • 可以控制用户发起的所有IO,包括被FS缓存的,缓存也可以收费 • 开发难度小,不涉及ISR和DPC – Cons • 没办法看到真正落到设备上的IO个数 放大看文件系统驱动 • 新版Windows支持Minifilter, 简化了文件系统驱动的开发 • 基于Minifilter可以开发很多 创意功能 – 系统监控 – 病毒文件检查 – 透明加密 – …… – 当然,可以做IOPS控制 iopsflt 文件系统驱动层方案 应用程序 SQLServer SQLServer SQLServer 进程/进程组 截获读/写请求 进程组A 进程组B 进程组C 配置IOPS限制 IOPSFLT 客户端 IOPS流控 驱动模块 iopsflt.exe iopsflt.sys 获得IOPS统计 Windows 内核

文档评论(0)

xingkongwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档