基于日志查询的并发调度算法优化

基于日志查询的并发调度算法优化

背景:
高峰日志查询时,单机开多并发查询日志,会出现io负载过重,影响服务稳定性,优化单机并发处理。

名词解释:A、B、C 机器列表

              A1  为机器A的第一个实例

前提:脚本获取机器列表为单机顺序排序(A1、A2、B1、B2、C1),如果按照顺序执行,会导致单机不同实例并发执行影响机器性能

执行过程:如并发数是3,执行过程为第一阶段 A1、A2、B1 第二阶段 B2、C1

解决思路:在任务执行前打乱任务顺序,实现不同机器的并发。

1.根据机器顺序,赋予哈希值

哈希算法:对于第N个的机器第M个实例赋值为N+(M-1)*总实例数

结果:([A1,1]、[A2,6]、[B1,2]、[B2,7]、[C1,3])

2.根据哈希值排序

结果:([A1,1]、[B1,2]、[C1,3]、[A2,6]、[B2,7])

执行过程:如并发数是3,执行过程为第一阶段 A1、B1 、C1第二阶段 A2、B2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值