第一篇请参考:https://www.cnblogs.com/VVsky/p/9361139.html
当我完成jmx脚本编写之后,将jmx嵌入ScriptManagement平台,使之可以单模块运行及批量运行之后。
主心骨部分算是完成了。
接下来的难点就是,怎么使环境在执行之前一直是干净的。
干净的环境
接口设计考量的时候,我有说过,对响应值过于复杂的系统,是需要进行分段设计的。
本次的产品系统响应值比较复杂。所以我考虑了三种情况:
1.每个case执行之前准备数据,这个对于表结构等要求比较深入-----废弃
2.直接备份整个库:
→经过验证,我发现单独备份还比较快,就算慢也没有关系,使用次数只有在初始化的时候使用一次。
→BUT!还原的时候,我计算了时间,超过1H.效率太慢了
3.备份对应的表:
→通过筛选,去除了一半的表,这时根据数据库的特性,我们(我申请了两个人力来帮忙写代码)使用了copy来进行表备份。
→BUT!其中有个表的数据量已经超过亿级了,这导致整个的备份还原时间还是超过了30MIN+。
4.换方案备份,针对特性数据库
→根据每个数据库的特性使用系统自带的方式进行备份,比如:mysql的备份和postgresql的备份肯定有不一样的方案特性。
→最后,我们将时间缩短到了10分钟以内,主要的时间耗损在压缩与解压缩。这个方案是目前最优的了。
根据以上:我们写了几个shell脚本文件,嵌入的本平台内,使用python进行远程操作执行。
所以:我们有了以下的界面操作
如上图:
1.可以对服务器进行变更
2.可以对数据库进行备份
3.可以进行还原操作
由于,是为本公司产品开发了,所以目前没有增加数据库选项,所写的shell脚本也仅针对一种数据库。
除以上用户进行手动恢复环境,我还设置了一个开关,用于执行脚本后,平台自带进行环境恢复。
后续:
我们将进行版本管理开发
我们将对jmeter的脚本编辑迁移到此平台
原文地址:https://www.cnblogs.com/VVsky/p/9456397.html