Search code examples
cassandrajmeterperformance-testingcqlcqlsh

cassandra database testing with jmeter


I have installed cassandra CQL shell on my local system, I am using jmeter v3.0 for testing the queries per second(QPS) on cassandra CQL shell. I have installed "cassandra support" plugin available in "plugin manager" with jmeter.

I have created keyspace in cassandra(keyspace1), created a table(student) and added some data in CQL shell.

I have added "cassandra properties" from config elements and entered the properties in jmeter.

Here are the properties:

cassandra properties

I have added "cassandra get" sampler.

added "view results tree" listener.

when I run it I am getting the following error:

ERROR: java.lang.RuntimeException: org.apache.thrift.transport.TTransportException: Read a negative frame size (-2080374784)!

view results tree

I have given the "schema properties" as seen on github. but no use. I am getting the same error.

Can anyone suggest me how to resolve this error?

ERROR: java.lang.RuntimeException: org.apache.thrift.transport.TTransportException: Read a negative frame size (-2080374784)!

I want to use the cassandra samplers for put, get and delete operations on the database.


Solution

  • It looks like the Netflix plugin you are using is somewhat deprecated because it uses the Cassandra thrift API which is deprecated (the plugin did not have a lot of recent commits in github too).

    See announcements here and here

    Even if you succeed in your test with this plugin, it would not be very representative of a current client use (hence load).

    IMHO you should make your test with JSR223 groovy scripts (preprocessor and samplers) and use the Datastax standard java driver + CQL in your script. I did it some time ago, it works fine. (update: documented here)

    Or may be try this JMeter plugin from a Datastax guy, it seems to use CQL . I didn't tried it, but it looks fine.

    HTH,

    Alain