了解Grinder进程处理模型
Grinder是一个基于Java的分布式负载测试框架。整个框架由3种不同的进程模型组成:工作进程、代理进程和控制台。
工作进程负责解析测试脚本并执行测试,每个工作进程可以通过多个并行的工作线程运行多种测试。
代理进程是个可以长时间驻留的进程,可以根据需要启动和停止工作进程,并且维护从控制台分发的测试脚本的本地缓存。
控制台协调其它进程,收集和展示统计数据,提供脚本的编辑和分发功能。
为了支持高负载测试,可以在多个负载机上各自启动一个甚至多个代理进程,可以通过控制台控制和监视工作进程。每个工作进程建立一个到控制台的网络连接来提交统计数据。每个代理进程建立一个到控制台的网络连接来接受命令,然后传递给自己的工作进程。
从整体架构设计上来说,实现了任务的分发、运行、监视的分离,具备很好的扩展性和可靠性,但是由于每个工作进程都直接与控制台通信,在高并发情况下,控制台很容易成为瓶颈,难以满足传统的大型集中式架构系统的高并发测试。在现在的微服务架构中,每个微服务实际的并发量相对较小,可以通过控制台和微服务一一对应,基于集成的多控制台管理,实现高并发测试的无限扩展。
更多详情微信扫一扫关注该公众号