在Jmeter JDBC请求中运行初步语句
我正在使用JMeter创建一个JDBC性能测试,以评估红移集群上一组查询的性能 在红移时,默认情况下会启用ResultSet缓存,并且可以使用语句在单个会话上禁用它在Jmeter JDBC请求中运行初步语句,jmeter,amazon-redshift,Jmeter,Amazon Redshift,我正在使用JMeter创建一个JDBC性能测试,以评估红移集群上一组查询的性能 在红移时,默认情况下会启用ResultSet缓存,并且可以使用语句在单个会话上禁用它 SET enable_result_cache_for_session=false; 如文件所述 在运行查询之前,我找不到在JMeter中运行此语句的方法。 如果我在实际的JDBC请求之前插入它,JMeter会抱怨只需要一个查询 如果我在线程组中创建了一个“一次性控制器”,在运行查询之前执行该控制器(位于同一线程组中的随机顺序控制
SET enable_result_cache_for_session=false;
如文件所述
在运行查询之前,我找不到在JMeter中运行此语句的方法。
如果我在实际的JDBC请求之前插入它,JMeter会抱怨只需要一个查询
如果我在线程组中创建了一个“一次性控制器”,在运行查询之前执行该控制器(位于同一线程组中的随机顺序控制器中),则其执行似乎不会影响缓存:
查询时间从第一次运行的30秒到后续运行的250毫秒不等
如果我尝试为每个查询设置JDBC预处理器,也会发生同样的情况
有没有办法使用jmeter运行这个初步查询?或者,是否有一种方法可以全局禁用红移集群上的缓存 您可以使用参数组更改此参数:
在JMeter中,每个集群只需执行一次,而不是每个查询,因此,如果您使用
将会话的启用\u结果\u缓存设置为false
,则应应用该选项,直到将其设置回true
如果必须使用JMeter执行此操作,我只能考虑通过SSH连接到红移实例
您可以使用JMeter(您需要使用安装它)完成这项工作,并通过相关的SSH命令设置参数 我也面临同样的问题。
以下是如何配置运行“缓存关闭”查询:
在“测试计划”窗口中-检查“连续运行线程组”
创建2个线程组
在线程组1中-添加JDBC请求“将会话的enable\u result\u cache\u设置为off;”查询类型(重要)-更新语句(其他语句对我不起作用)
在线程组2中-放置所有其他JDBC请求
测试计划设置:
缓存关闭jdbc请求:
对我的回答有什么反馈吗?如果您想进行测试,现在可以在JMeter 5.1中使用它