我是JMeter和Cassandra的新手,并尝试使用Apache Jmeter Cassandra插件进行测试目的
https://github.com/Netflix/CassJMeter/wiki
按照给出的步骤,我可以配置JMeter Cassandra插件。
在JMeter控制台中,我创建了一个新的ThreadGroup-> CassandraProperties,并在那里指定了所有与Cassandra相关的属性。
添加了SchemaProperties,如下所示。
添加了Cassandra获取范围切片
但是当我开始测试时,我在样本结果中获得了成功响应,但我的响应数据是空的
My Users表不是空的,使用cql我可以查询数据,其架构如下:
CREATE TABLE users (
user_name text,
gender text,
password text,
PRIMARY KEY ((user_name))
) WITH
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.100000 AND
gc_grace_seconds=864000 AND
index_interval=128 AND
read_repair_chance=0.000000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
default_time_to_live=0 AND
speculative_retry='99.0PERCENTILE' AND
memtable_flush_period_in_ms=0 AND
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'LZ4Compressor'};
所以当我执行Jmeter控制台时,我应该获得100计数结果和一些响应数据吗? 我被困在这里,无法理解......任何帮助都将不胜感激。
答案 0 :(得分:0)
您可以在JMeter中查看有关Cassandra脚本的blazemeter教程:
下载驱动程序jar文件。之后,您可以将下载的jar文件添加到JMeter的类路径
添加Cassandra依赖项并将它们添加到JMeter类路径中
添加 - >采样器 - > JSR223采样器
提交您的请求
例如:
import com.datastax.driver.core.Session;
import com.datastax.driver.core.Cluster;
Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
Session session = cluster.connect("test_keyspace");
def results = session.execute("SELECT * FROM users");
session.close();
cluster.close();`
您可以通过JMeter实现Cassandra负载测试,与您拥有的Cassandra版本无关。通过使用Groovy脚本语言,您无需关心JMeter支持哪些Cassandra功能,因为您可以自己实现操作