DBS Benchmarking team uses HammerDB to benchmark and compare between different database engines. We have got their results of RDS MySQL m6g and m5 instances. Here is a summary of results and findings from them.
According to the benchmark results from DBS Benchmarking team:

For **large, xlarge and 4xlarge instance sizes, m6g shows consistent higher throughput compare to m5, in some cases up to about 50%. **
The benchmark results of 12xlarge and above are not as consistent as smaller instance sizes. This should also be looked into.





| Instance Size | Num of Wareshoues |
|---|---|
| large | 8 |
| xlarge | 16 |
| 2xlarge | Not done yet |
| 4xlarge | 50 |
| 8xlarge | Not done yet |
| 12xlarge | 150 |
| 16xlarge | 150 |
| 24xlarge | 300 |
| Engine | Version | DB Param | Value |
|---|---|---|---|
| MySQL | 8.0.17 | innodb_buffer_pool_instances | 32 |
| MySQL | 8.0.17 | innodb_io_capacity | 40000 |
| MySQL | 8.0.17 | innodb_io_capacity_max | 70000 |
| MySQL | 8.0.17 | innodb_log_file_size | 21474836480 |
| MySQL | 8.0.17 | innodb_read_io_threads | 24 |
| MySQL | 8.0.17 | innodb_sync_array_size | 1024 |
| MySQL | 8.0.17 | innodb_write_io_threads | 64 |
| Engine | Instance Type | OS Version | Kernel Version | Storage |
|---|---|---|---|---|
| MySQL | m6g.large | Amazon Linux 2 | 4.14.177-139.254 | io1 40k 1TB |
| MySQL | m6g.xlarge | Amazon Linux 2 | 4.14.177-139.254 | io1 40k 1TB |
| MySQL | m6g.4xlarge | Amazon Linux 2 | 4.14.177-139.254 | io1 40k 1TB |
| MySQL | m6g.12xlarge | Amazon Linux 2 | 4.14.177-139.254 | io1 40k 1TB |
| MySQL | m6g.16xlarge | Amazon Linux 2 | 4.14.177-139.254 | io1 40k 1TB |
| MySQL | m5.large | Amazon Linux 2016.09 | 4.4.23-31.54 | io1 40k 1TB |
| MySQL | m5.xlarge | Amazon Linux 2016.09 | 4.4.23-31.54 | io1 40k 1TB |
| MySQL | m5.4xlarge | Amazon Linux 2016.09 | 4.4.23-31.54 | io1 40k 1TB |
| MySQL | m5.12xlarge | Amazon Linux 2016.09 | 4.4.23-31.54 | io1 40k 1TB |
| MySQL | m5.16xlarge | Amazon Linux 2016.09 | 4.4.23-31.54 | io1 40k 1TB |
| MySQL | m5.24xlarge | Amazon Linux 2016.09 | 4.4.23-31.54 | io1 40k 1TB |
aws ec2 run-instances --image-id ami-0c2b8ca1dad447f8a --count 1 --instance-type c5.2xlarge \
--key-name "jiade" --subnet-id subnet-b9581997 --security-group-ids sg-ed5108ab \
--user-data file://userdata.txt --tag-specifications 'ResourceType=instance,Tags=[{Key=AZ,Value=us-east-1b}]' \
--query 'Instances[*].InstanceId' --output text
# output i-0d0560975f5225caa
aws ec2 describe-instances --instance-ids i-0d0560975f5225caa --query 'Reservations[*].Instances[*].PublicIpAddress' --output text
# output 3.84.60.45
yum update -y
yum install htop -y
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | bash
yum -y install sysbench
sh -c 'for x in /sys/class/net/eth0/queues/rx-*; do echo ff> $x/rps_cpus; done'
sh -c "echo 32768 > /proc/sys/net/core/rps_sock_flow_entries"
sh -c "echo 4096 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt"
sh -c "echo 4096 > /sys/class/net/eth0/queues/rx-1/rps_flow_cnt"
cat << EOF > /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
EOF
aws rds create-db-cluster --db-cluster-identifier aurora-r5 \
--database-name sysbench \
--db-cluster-parameter-group-name aurora-mysql57-tuned \
--engine aurora-mysql --engine-version 5.7.mysql_aurora.2.10.0 \
--master-username aurora --master-user-password wujiade4444 \
--db-subnet-group-name default --vpc-security-group-ids sg-ed5108ab
aws rds create-db-instance --db-instance-identifier aurora-r5 \
--db-cluster-identifier aurora-r5 --engine aurora-mysql --db-instance-class db.r5.2xlarge \
--availability-zone us-east-1b --enable-performance-insights
aws rds create-db-cluster --db-cluster-identifier aurora-r6 \
--database-name sysbench \
--db-cluster-parameter-group-name aurora-mysql57-tuned \
--engine aurora-mysql --engine-version 5.7.mysql_aurora.2.10.0 \
--master-username aurora --master-user-password wujiade4444 \
--db-subnet-group-name default --vpc-security-group-ids sg-ed5108ab
aws rds create-db-instance --db-instance-identifier aurora-r6 \
--db-cluster-identifier aurora-r6 --engine aurora-mysql --db-instance-class db.R6g.2xlarge \
--availability-zone us-east-1b --enable-performance-insights
sysbench --db-driver=mysql --mysql-host=aurora-r5.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_read_only prepare
sysbench --db-driver=mysql --mysql-host=aurora-r6.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_read_only prepare
sysbench --db-driver=mysql --mysql-host=aurora-r5.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-port=3306 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --max-time=600 --threads=32 --percentile=95 --range_selects=0 --skip-trx=1 --report-interval=20 oltp_read_only run >> r5_read.log
sysbench --db-driver=mysql --mysql-host=aurora-r6.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-port=3306 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --max-time=600 --threads=32 --percentile=95 --range_selects=0 --skip-trx=1 --report-interval=20 oltp_read_only run >> r6g_read.log
sysbench --db-driver=mysql --mysql-host=aurora-r5.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_read_only cleanup
sysbench --db-driver=mysql --mysql-host=aurora-r6.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_read_only cleanup
sysbench --db-driver=mysql --mysql-host=aurora-r5.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_write_only prepare
sysbench --db-driver=mysql --mysql-host=aurora-r6.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_write_only prepare
sysbench --db-driver=mysql --mysql-host=aurora-r5.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-port=3306 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --max-time=600 --threads=32 --percentile=95 --range_selects=0 --skip-trx=1 --report-interval=20 oltp_write_only run >> r5_read.log
sysbench --db-driver=mysql --mysql-host=aurora-r6.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-port=3306 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --max-time=600 --threads=32 --percentile=95 --range_selects=0 --skip-trx=1 --report-interval=20 oltp_write_only run >> r6g_read.log
sysbench --db-driver=mysql --mysql-host=aurora-r5.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_write_only cleanup
sysbench --db-driver=mysql --mysql-host=aurora-r6.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_write_only cleanup
sysbench --db-driver=mysql --mysql-host=aurora-r5.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_read_write prepare
sysbench --db-driver=mysql --mysql-host=aurora-r6.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_read_write prepare
sysbench --db-driver=mysql --mysql-host=aurora-r5.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-port=3306 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --max-time=600 --threads=32 --percentile=95 --range_selects=0 --skip-trx=1 --report-interval=20 oltp_read_write run >> r5_read.log
sysbench --db-driver=mysql --mysql-host=aurora-r6.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-port=3306 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --max-time=600 --threads=32 --percentile=95 --range_selects=0 --skip-trx=1 --report-interval=20 oltp_read_write run >> r6g_read.log
sysbench --db-driver=mysql --mysql-host=aurora-r5.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_read_write cleanup
sysbench --db-driver=mysql --mysql-host=aurora-r6.cmq96p5vz1ps.us-east-1.rds.amazonaws.com --mysql-port=3306 --mysql-user=aurora --mysql-password=wujiade4444 --mysql-db=sysbench --table_size=25000 --tables=250 --events=0 --time=600 oltp_read_write cleanup