[发明专利]基于IO调度策略降低无盘工作站回写数据读延迟的方法有效
申请号: | 202010561364.2 | 申请日: | 2020-06-18 |
公开(公告)号: | CN111752486B | 公开(公告)日: | 2023-05-05 |
发明(设计)人: | 史孝兵;彭寿林;王燕;李广斌;郭月丰;卫行 | 申请(专利权)人: | 杭州雾联科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/36 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王学强 |
地址: | 311121 浙江省杭州市余*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 io 调度 策略 降低 工作站 数据 延迟 方法 | ||
1.一种基于IO调度策略降低无盘工作站回写数据读延迟的方法,其特征在于,包括:
读写分离,即将客户端整个任务队列分成读请求队列和写请求队列,两个队列分别存放读请求和写请求;
多读一写,从读请求队列中提取并执行多个读请求后,再从写请求队列中提取并执行1个写请求;
制定面向客户机、面向请求、面向综合情境的三种负载均衡策略,并根据实际情况选择并实施相应的负载均衡策略;
最后通过模拟回放测试对云无盘系统的性能进行验证分析;
其中读写分离以及多读一写策略的具体实现方式如下:
(1)创建一个读请求队列、一个写请求队列和一个线程池,将任务队列中的所有读请求按序放入读请求队列,所有写请求按序放入写请求队列;
(2)配置一次任务处理的读写请求比=k:1,k为大于1的自然数;
(3)利用线程池中的线程共享读请求队列和写请求队列,并获取任务包含k个读请求和1个写请求;
(4)执行任务时强调读优先,先执行完k个读请求,再执行1个写请求;
(5)回到步骤(3)反复执行;
面向客户机的负载均衡策略,具体实现方式如下:
首先,创建多个读写任务池,每个读写任务池包括一个读请求队列、一个写请求队列和一个线程池;
然后,为每个客户机分配固定的读写任务池,并均匀分配读写任务池,使得每个读写任务池对应负责同样数量的客户机;具体地,则通过哈希算法A将客户机的读写请求投入客户机对应的读写任务池中,使得多个读写任务池能够同时处理相应客户机的读写请求;
最后,利用线程池中的线程从读请求队列和写请求队列中获取并执行任务,且遵从多读一写、读优先的策略;
面向请求的负载均衡策略,具体实现方式如下:
首先,创建多个读写任务池,每个读写任务池包括一个读请求队列、一个写请求队列和一个线程池;
然后,将同一时段内来自客户机的所有读写请求平均分配给各个读写任务池,使得每个读写任务池中待处理的请求数量一样多;具体地,则通过哈希算法B将所有读写请求投入对应的读写任务池中,使得各读写任务池相对均匀地同时处理读写请求;
最后,利用线程池中的线程从读请求队列和写请求队列中获取并执行任务,且遵从多读一写、读优先的策略;
面向综合情境的负载均衡策略,具体实现方式如下:
首先,创建多个读写任务池,每个读写任务池包括一个读请求队列、一个写请求队列和一个线程池;
然后,通过哈希算法A将客户机的读写请求投入客户机对应的读写任务池中,使得多个读写任务池能够同时处理相应客户机的读写请求;
当检测到某一读写任务池待处理的请求负荷超出设定的阈值,则通过哈希算法B将该读写任务池中的部分读写请求转移投入其他读写任务池中,使得各读写任务池相对均匀地同时处理读写请求;
最后,利用线程池中的线程从读请求队列和写请求队列中获取并执行任务,且遵从多读一写、读优先的策略;
所述哈希算法A即通过对客户机地址计算哈希值,令该哈希值作为对应读写任务池的编号,进而根据该哈希值将客户机的读写请求投入到客户机对应的读写任务池中;所述哈希算法B即通过对请求ID计算哈希值,令该哈希值作为读写任务池的编号,进而根据该哈希值将读写请求投入到对应的读写任务池中;
对云无盘系统的性能进行验证分析即采用旁路机制采集线上客户机的请求数据作为样本在测试环境下进行模拟回放测试,能较为真实地模拟线上客户机的行为,可灵活模拟测试场景,其中引入请求响应时间指标作为性能测试通过条件,保证性能质量,最终测试出线上能够达到的最大待机数,进而将该模拟线上的最大待机数与理论推导的最大待机数进行比较分析;
所述模拟回放测试的具体实施过程为:对于不同并发数的测试用例,在客户机使用脚本批量启动指定个数的dsplayer进行回放,每次测试用例持续回放1~2个小时,观察和记录各项性能数据。
2.根据权利要求1所述基于IO调度策略降低无盘工作站回写数据读延迟的方法,其特征在于:所述dsplayer为客户机请求包回放工具,用于从抓包文件中读取请求包,与基础服务建立连接,发送请求包到指定服务,达到模拟1台真实客户机的目的;dsplayer会记录每个IO的响应时间,用来做性能分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州雾联科技有限公司,未经杭州雾联科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010561364.2/1.html,转载请声明来源钻瓜专利网。