测试执行后如何获取含提交数据的导入SQLite数据库?
解决BlazeMeter中SQLite数据库更新后无法下载到修改版本的问题
以下是你可能遗漏的关键点及解决办法:
BlazeMeter的文件复制机制导致修改的是本地副本
BlazeMeter在启动测试时,会将共享文件夹中的SQLite数据库复制到每个负载生成器的本地临时目录,测试过程中对数据库的写入操作都是针对这个本地副本执行的,而非共享文件夹中的原始文件。这就是为什么测试能读取到新数据,但共享文件夹里的原文件没变化。未添加测试后文件上传步骤
要获取修改后的数据库,需要在测试结束时添加步骤,将负载生成器本地的数据库文件上传回BlazeMeter的存储:- 使用JMeter的
OS Process Sampler执行BlazeMeter CLI命令,将本地修改后的数据库文件上传到指定位置; - 或者调用BlazeMeter的REST API完成文件上传操作。
注意:如果是分布式多负载机场景,需要确认从哪台机器获取文件(比如只取其中一台,或者合并数据)。
- 使用JMeter的
检查JDBC连接的路径与持久化配置
确认JDBC连接字符串中使用的是BlazeMeter提供的共享目录变量(如${__P(bm.shared.dir)}/your-db-name.db),确保测试确实操作的是正确的文件副本。另外,检查JDBC连接是否开启了自动提交(autoCommit=true),或者在写入操作后是否执行了COMMIT语句,避免数据仅存在于内存中未持久化到磁盘。
内容的提问来源于stack exchange,提问作者InsertNameHere
相关产品推荐
相关产品推荐

