After you have installed your cluster you may want to bench it quickly to see that everything is working.
Here is an example how to run sysbench from the ClusterControl server, but of course using one of the nodes in the actual Cluster.
On the ClusterControl server do:
Centos/Redhat:
rpm -Uvh --force http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install sysbench
Debian/Ubuntu:
apt-get install sysbench
E.g, we have one MySQL Server on 10.0.1.10
mysql -ucmon -p -h10.0.1.10 -e "create database sbtest"
Prepare the dataset (create a table and insert 1000000 records), don't forget to change --mysql-password and --mysql-host:
sysbench --test=oltp --num-threads=16 --max-requests=10000 --db-driver=mysql --mysql-host=10.0.1.10 \
--mysql-user=cmon --mysql-password=cmon --oltp-table-size=1000000 --mysql-engine-trx=yes \
--oltp-reconnect-mode=transaction --mysql-table-engine=innodb --max-requests=1000000 prepare
Run with 16 threads, don't forget to change --mysql-password and --mysql-host (please note that sysbench does not have transaction retries):
sysbench --test=oltp --num-threads=16 --max-requests=10000 --db-driver=mysql --mysql-host=10.0.1.10 \
--mysql-user=cmon --mysql-password=cmon --oltp-table-size=1000000 --mysql-engine-trx=yes \
--oltp-reconnect-mode=transaction --mysql-table-engine=innodb --max-requests=1000000 run
MySQL Cluster users shoud set
--mysql-table-engine=ndbcluster
Comments
7 comments
Client-Side Load Sim + Backend Stress – When running backend stress tests, I’ve found it helpful to pair them with real-time UI simulations—like animating large data tables or dynamic dashboards. This can surface front-end bottlenecks that backend tests alone might miss.
API Throughput Under Animation Load – I often fire a steady stream of API requests while triggering heavy DOM updates or chart rendering. It helps identify whether animation frames drop under network or CPU stress.
Watch for Subtle Resource Saturation – Especially in mixed workloads, keep tabs on GPU spikes (yes, even for web UIs), memory leaks, or subtle DOM bloat over time. Some UI slowdowns only appear after prolonged testing.
Combining synthetic frontend activity with backend benchmarks has really helped me fine-tune performance across the stack. Has anyone else explored UI-bound profiling during backend load tests?
This is a really solid approach. Pairing backend stress tests with live UI simulations tends to reveal issues you’d never catch by testing APIs in isolation. Animating large tables, charts, or dashboards while the backend is under load is especially effective for exposing hidden bottlenecks in rendering, state updates, or event handling.
I’ve also seen good results from running continuous API traffic alongside heavy DOM updates. It quickly becomes obvious when CPU contention, garbage collection, or layout thrashing starts affecting frame rates—even if backend metrics look fine on paper.
Your point about monitoring subtle resource saturation is spot on too. GPU usage, incremental memory growth, and DOM bloat can quietly degrade performance over longer sessions, particularly in complex, data-driven UIs.
Combining frontend-bound activity with backend benchmarks really gives a more realistic picture of end-to-end performance. I’ve come across some useful breakdowns and examples on this topic here that align closely with what you’re describing.
Curious to hear what tools or profilers others are using for this kind of mixed workload testing.
This works, but note that newer sysbench versions deprecate --test=oltp; you should use sysbench oltp_read_write (or similar) with the same options. Also make sure you clean up afterward with sysbench ... cleanup, and remember sysbench has no retry logic, so results reflect raw cluster behavior under contention.
Helpful walkthrough on benchmarking Galera and MySQL Cluster with Sysbench — clear steps and practical for performance testing.
Helpful walkthrough on benchmarking Galera and MySQL Cluster with Sysbench — clear steps and practical for performance testing. wapplusapks
This is a helpful quick-start guide for validating Galera or MySQL Cluster performance with Sysbench. One important tip is to test with different thread counts and table sizes to better simulate real production workloads. Also, enabling transaction retries can help when benchmarking Galera clusters under heavy load. I’ve seen similar MySQL performance tuning and benchmarking discussions on rickbrowser where users compared Sysbench results across clustered environments.
This was a very informative breakdown of benchmarking with Sysbench, especially the way you compared Galera and MySQL Cluster performance under different workloads. I liked that the article didn’t just focus on raw numbers, but also explained how latency, scalability, and node synchronization can affect real-world deployments because that’s what actually matters in production environments. It also connects well to platforms like PlayPelis APK, where backend stability and database performance are essential for handling large numbers of users smoothly without interruptions. In your experience, which setup tends to provide the best balance between performance and reliability for long-term scaling?
Please sign in to leave a comment.