IM分布式压力测试工具设计(类loadrunner)

#简单版
实现目标:可以分布式测试自己业务,高度定制
原理:通过zookeeper进行配置和调度,角色分为二个,主控和分布测试单元。
##分布测试单元
功能:接收主控的任务并且执行,主要功能为启动和接收执行任务
启动
1、 启动的时候注册到zookeeper上
2、 监听对应的配置节点(需要根据配置来启动任务)
3、 监听对应的队列,用来和主控制进行消息通信
接收任务
1、从配置节点上获得对应要执行的参数,包括启动的线程,对应的每个线程执行的时间间隔和汇报通知时间
2、接收任务执行
3、通过队列,通知对应主控节点进行通信(通信协议包括,本节点对应信息,任务执行的阶段信息)
4、任务执行完成通过队列汇总到主控
难点
1、关于集合点的设置和高度一致性难,但是实际上测试可能没那么严格也可以接受
2、关于分布式测试节点出现各种异常的情况下如何处理也是一个难点

##主控节点
主控节点功能:分配任务执行,并且查看任务进行,进行任务汇总。
1、分配任务:配置相关的任务,配置完成后,启动相关节点启动任务
2、任务查看:定时从队列上查看当前各个节点的执行情况
3、任务汇总:如果所有任务执行结束了,将对应的任务汇总输出对应的报告

#复杂版
实现目标:可以定制扩展业务,直接执行就可以
需要解决的核心问题
1、任务通过jar包的样式分发到各个节点,放置在lib目录下
2、新任务使用定制的Classloader从lib上加载对应的jar包
3、对应实现的业务的jar包要高度抽象成一套可扩展的接口
可以做成一个产品,如果公司测试业务有需求的话倒是可以,一般公司没那个耐心和投入

#总结
1、复杂版做的话,是一个长期的工程,简单版的可以在满足研发非测试的绝大多数的要求
2、单个机器上启动多个java的客户端压力测试程序也可以做一部分压力测试工作,但是还远远不足。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小她爹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值