Forum: Building VoltDB Applications

Post: JMeter VoltDB Stored Procedures

JMeter VoltDB Stored Procedures
keekiat
Sep 21, 2015
Hello,

I am trying to test the general performance of voltdb using JMeter. I created a simple stored procedure and tried to run it using the following command:
exec RetrieveSP 1;

where RetrieveSP is the name of the stored procedure and 1 is a parameter

This query test ok using the web console but in jmeter it throws "unexpected token exec".

Any help will be appreciated. Thanks!
pzhao
Sep 21, 2015
keekiat,

There are a number of sample applications we provide in github for demos. Simply, './run.sh' to start the server and './run.sh client' to run a client, which also shows transactions per second on the console.

Here is a simple app, voter, that calls a stored procedure which may help with your current problem.

Peter Zhao
bballard
Sep 21, 2015
Just to add a bit about JMeter, we don't have much experience or expertise with it. I have used it once, with the JDBC driver to call stored procedures. In the links Peter gave you for our example applications, some of them have a JDBCBenchmark.java class that you could follow if you are using the JDBC driver. It is often necessary to use hundreds of threads in a test application or benchmark in order to drive enough requests to test VoltDB throughput. In our examples, with the JDBCBenchmark class, it is multi-threaded and you can set this. There is also an AsyncBenchmark which uses asynchronous calls with our native Java API, which typically provides superior performance with only one client thread. You should compare any results you get with JMeter to the results you can get with one of our example benchmarks in case JMeter is the bottleneck.

If you'd like to work with one of our Sales engineers on testing or a proof of concept, please contact sales@voltdb.com, and someone will contact you.
zdong
Jan 6, 2016
Hello keekiat

In Jmeter JDBC Request, calling stored procedure is different from using sqlcmd exec.

The following is my configuration:

Query type: Callable Statement
Query: {call @AdHoc(?)}
Parameter values: "SELECT * from role"
Parameter types: VARCHAR

or refer to the attach

97