在存储库中放置一个大的42mb json数据文件是否正确,jmeter性能测试套件正在使用它?

问题描述:

在我的项目中,我有一个与jmeter性能相关的文件存在的子项目。现在我们的要求是使用大数据集来执行该套件。我们在这里使用json数据集,所以我们将json文件放在jmeter jmx文件所在的同一目录中。 我的担忧是,这是否是将测试数据与存储库一起放置的正确方法。这会不必要地增加存储库大小。 请提出我可以用来解决此问题的其他最佳方法?在存储库中放置一个大的42mb json数据文件是否正确,jmeter性能测试套件正在使用它?

+2

为什么不使用数据库? –

+0

感谢您的回应。实际上,我们需要将此文件与jmeter jmx文件一起放置以进行性能测试。 – psish

我可以想象用Zip archiver来压缩文件。您将能够使用JSR223 Sampler及以下Groovy代码试运行期间将它解开:

def myZippedJson = new java.util.zip.ZipFile(new File('foo.zip')) 

myZippedJson.entries().each { 
    def unpackedJson = myZippedJson.getInputStream(it).text 
    // do what you need with the data, i.e. store it into ${JSON} property like: 
    props.put('JSON', unpackedJson) 
} 

这是更好地把这种采样器内部setUp Thread Group因此将只执行一次

Apache Groovy - Why and How You Should Use It文章更多有关在JMeter测试中使用脚本的信息。

+1

感谢Dmitri的回复,我不能在这里使用groovy,因为它会使它变得沉重。我们已经使用python脚本来触发这个jmeter测试,所以如果可能的话使用python来实现与我的需求相关的东西,请建议? – psish

+0

根据您的解决方案,我可以将json文件以压缩格式放置在我的存储库中,之后jmeter将能够读取压缩的json? – psish