1.背景

nGrinder 作为一款开源的性能测试工具极大地满足了日常性能测试工作,但在某些极端情况下会出现任务僵死的状态,无法正常终止或删除僵死任务,这些极端情况包括:性能测试脚本有问题,未进行脚本校验就直接被绑定到压测场景中;压测过程中网络因素等;nGrinder 代码本身不能处理这些异常,直接导致任务僵死,任务所有者再继续执行新任务时将被阻塞。

2.问题描述

复现问题:

  1. 性能脚本有问题,性能脚本并未验证通过,直接在测试场景中绑定该脚本, 执行任务无法终止。 这里写图片描述
  2. 执行性能测试过程中,可能由于网络因素原因,导致状态没获取到,不好复现。 这里写图片描述

3.解决方案

解决方案有 2 个:
1.使用 Firebug 直接修改前端;2.删除 H2 中的僵死任务。

3-1.第 1 个解决方案:

僵死任务, test_script 无法终止
这里写图片描述

将标签 delete 显示
这里写图片描述

僵死任务被删除
这里写图片描述

3-2.第 2 个解决方案:

直接操作 H2 DB(不建议)
可以直接在库中删除任务,H2 的 db 文件路径如下:
这里写图片描述
有兴趣的同学可以试试,这里不介绍,最好不要直接操作数据库。


↙↙↙阅读原文可查看相关链接,并与作者交流