NodeIngestBench
a simple nodejs script to quickly test ingest performance on CrateDB clusters.
top measured performance with single nodejs client : 1 200 000 rows / s
new improved version (app.js)
Ubuntu
apt update && apt upgrade
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
apt update
sudo apt-get install -y nodejs
npm install
node app.js --batchsize 20000 --max_rows 1000000 --table "doc.benchmark" --shards 12 --concurrent_requests 20
CRATE_HOST=localhost
CRATE_USER=admin
CRATE_PASSWORD=secret-password
CRATE_DB=doc
CRATE_PORT=4200
CRATE_SSL=true
example run with app.js
3 nodes (10 vCPUs) CrateDB cluster
node app.js --batchsize 20000 --max_rows 1000000 --table "doc.benchmark" --shards 12 --concurrent_requests 20
-------- Options ---------
{
dropTable: true,
batchsize: 20000,
max_rows: 6000000,
table: 'doc.benchmark',
shards: 6,
concurrent_requests: 20
}
--------------------------
... Buffer updated
-------- Results ---------
Time 25.179 s
Rows 6,020,000 records
Speed 239,088.13 rows per sec
-------- Results ---------
=> 2,400,000 Metrics / sec