Bash
Warning
SingleStore 9.0 gives you the opportunity to preview, evaluate, and provide feedback on new and upcoming features prior to their general availability. In the interim, SingleStore 8.9 is recommended for production workloads, which can later be upgraded to SingleStore 9.0.
Dependencies
-
mysql
client program -
Bourne-Again Shell (
bash
)
Code
#!/bin/bashMHOST="127.0.0.1"MPORT="3306"MUSER="root"MDB=""NUM_WORKERS=128BATCH_SIZE=256memsql_exec(){mysql -h $MHOST -P $MPORT -u $MUSER $MDB -e "$1"}memsql_exec_multi(){mysql -h $MHOST -P $MPORT -u $MUSER $MDB -e \"$(for ((b = 0; b < $BATCH_SIZE; b++)); doecho "$1;"done)"}echo "Creating database test"memsql_exec "CREATE DATABASE IF NOT EXISTS test"MDB="test"echo "Creating table tbl"memsql_exec "CREATE TABLE IF NOT EXISTS tbl (id INT AUTO_INCREMENT PRIMARY KEY)"echo "Launching $NUM_WORKERS workers"sleep 1declare -a WORKERSfor ((worker = 0; worker < $NUM_WORKERS; worker++)); do(while [ 1 ]; doecho "Worker $worker inserting"memsql_exec_multi "INSERT INTO tbl VALUES (NULL)"done) &WORKERS[$worker]=$!donesleep 10for ((worker = 0; worker < $NUM_WORKERS; worker++)); doecho "Killing worker $worker"kill ${WORKERS[$worker]}wait ${WORKERS[$worker]} 2>/dev/nulldoneecho "Cleaning up"sleep 1memsql_exec "DROP DATABASE test"
Last modified: August 21, 2023