DB (SQL) automated stress/load tools? DB (SQL) automated stress/load tools? database database

DB (SQL) automated stress/load tools?


JMeter from Apache can handle different server types. I use it for load tests against web applications, others in the team use it for DB calls. It can be configured in many ways to get the load you need. It can be run in console mode and even be clustered using different clients to minimize client overhead ( and so falsifying the results).

It's a java application and a bit complex at first sight. But still we love it. :-)


k6.io can stress test a few relational databases with the xk6-sql extension.

For reference, a test script could be something like:

import sql from 'k6/x/sql';const db = sql.open("sqlite3", "./test.db");export function setup() {  db.exec(`CREATE TABLE IF NOT EXISTS keyvalues (           id integer PRIMARY KEY AUTOINCREMENT,           key varchar NOT NULL,           value varchar);`);}export function teardown() {  db.close();}export default function () {  db.exec("INSERT INTO keyvalues (key, value) VALUES('plugin-name', 'k6-plugin-sql');");  let results = sql.query(db, "SELECT * FROM keyvalues;");  for (const row of results) {    console.log(`key: ${row.key}, value: ${row.value}`);  }}

Read more on this short tutorial.


The SQL Load Generator is another such tool:

http://sqlloadgenerator.codeplex.com/

I like it, but it doesn't yet have the option to save test setup.