I tried launching an M9g (Graviton5) instance that became GA on Amazon RDS for MySQL and checked the system information
This page has been translated by machine translation. View original
Introduction
On 2026/6/17, Graviton5-based M9g instances became generally available (GA) for Amazon RDS for PostgreSQL, MySQL, and MariaDB.
M9g instances became GA on EC2 on 2026/6/10, and an article confirming CPU information has been published.
This time, I launched an M9g instance on RDS MySQL and checked system information using SHOW VARIABLES and similar commands.
According to the official announcement, M9g is expected to deliver up to 30% performance improvement and up to 23% better price-performance ratio compared to Graviton4-based instances. The regions available at the time of the official announcement are four regions: us-east-1, us-east-2, us-west-2, and eu-central-1.
Supported Engine Versions
When I checked the support status of db.m9g.large in us-west-2 using the AWS CLI's describe-orderable-db-instance-options, the available MySQL engine versions were as follows.
| Series | Supported Versions |
|---|---|
| MySQL 8.0.x | 8.0.42, 8.0.43, 8.0.44, 8.0.45, 8.0.46 |
| MySQL 8.4.x | 8.4.5, 8.4.6, 8.4.7, 8.4.8, 8.4.9 |
Supported Instance Sizes
db.m9g.medium does not exist. I confirmed that specifying db.m9g.medium in describe-orderable-db-instance-options returns an empty result. db.m9g.large is the minimum size.
$ aws rds describe-orderable-db-instance-options \
--engine mysql \
--db-instance-class db.m9g.medium \
--query "OrderableDBInstanceOptions[].EngineVersion" \
--region us-west-2
[]
This is in contrast to EC2, where m9g.medium is available.
Price Comparison with M8g
This is a comparison for us-west-2 / MySQL / Single-AZ / On-Demand (retrieved from AWS Pricing API on 2026-06-17).
| db.m8g.large (Graviton4) | db.m9g.large (Graviton5) | |
|---|---|---|
| vCPU / Memory | 2 / 8 GiB | 2 / 8 GiB |
| Network | Up to 12.5 Gbps | Up to 15 Gbps |
| Price (per hour) | $0.168 | $0.183 |
| Difference | — | +8.9% |
M9g is approximately 9% more expensive than M8g.
Launching the Instance
I launched with db.m9g.large / MySQL 8.4.9 / gp3.
aws rds create-db-instance \
--db-instance-identifier m9g-mysql-test \
--db-instance-class db.m9g.large \
--engine mysql \
--engine-version 8.4.9 \
--master-username admin \
--master-user-password '<password>' \
--allocated-storage 20 \
--storage-type gp3 \
--no-multi-az \
--no-deletion-protection \
--publicly-accessible \
--vpc-security-group-ids sg-xxxxxxxx \
--db-subnet-group-name default-vpc-4az \
--backup-retention-period 0 \
--region us-west-2
The following are the key parameters confirmed with describe-db-instances after launch.
| Item | Value |
|---|---|
| DBInstanceClass | db.m9g.large |
| Engine | mysql |
| EngineVersion | 8.4.9 |
| StorageType | gp3 |
| AllocatedStorage | 20 GB |
| Iops | 3000 |
| StorageThroughput | 125 MB/s |
| MultiAZ | false |
| CACertificateIdentifier | rds-ca-rsa2048-g1 |
Checking System Information
Version Information
mysql> SELECT @@version, @@version_comment, @@version_compile_os, @@version_compile_machine;
+-----------+---------------------+----------------------+---------------------------+
| @@version | @@version_comment | @@version_compile_os | @@version_compile_machine |
+-----------+---------------------+----------------------+---------------------------+
| 8.4.9 | Source distribution | Linux | aarch64 |
+-----------+---------------------+----------------------+---------------------------+
The fact that version_compile_machine is aarch64 confirms that it is running on ARM (Graviton). While on EC2 you can directly check CPU information using lscpu or dmidecode, RDS does not allow access to the OS layer, so this MySQL system variable is the primary means of confirming the architecture.
STATUS Command
mysql> STATUS;
--------------
mysql Ver 8.4.9 for Linux on aarch64 (Source distribution)
Connection id: 29
Current user: admin@flh2-133-201-48-65.tky.mesh.ad.jp
SSL: Cipher in use is TLS_AES_128_GCM_SHA256
Server version: 8.4.9 Source distribution
Protocol version: 10
Connection: m9g-mysql-test.c5tznfzka3vu.us-west-2.rds.amazonaws.com via TCP/IP
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb4
Conn. characterset: utf8mb4
TCP port: 3306
Uptime: 5 min 24 sec
--------------
Note that mysql Ver 8.4.9 for Linux on aarch64 at the top is information from the mysql client side. For confirming the server-side architecture, refer to the @@version_compile_machine mentioned above. You can also confirm that the SSL connection is established with TLS 1.3 (TLS_AES_128_GCM_SHA256).
Key SHOW VARIABLES Results
Since the instance was launched with the default parameter group, you can check the key values in the default RDS for MySQL configuration.
| Variable Name | Value | Notes |
|---|---|---|
innodb_buffer_pool_size |
5,637,144,576 (approx. 5.25 GB) | Approximately 65% of 8 GB memory |
innodb_buffer_pool_instances |
1 | |
innodb_dedicated_server |
ON | Automatic tuning based on memory |
innodb_doublewrite |
OFF | OFF in this configuration |
innodb_redo_log_capacity |
1,073,741,824 (1 GB) | |
innodb_io_capacity |
10000 | |
innodb_io_capacity_max |
20000 | |
innodb_flush_method |
O_DIRECT | |
innodb_page_size |
16384 | |
innodb_adaptive_hash_index |
OFF | |
innodb_purge_threads |
1 | |
innodb_read_io_threads |
4 | |
innodb_write_io_threads |
4 | |
max_connections |
628 | |
table_open_cache |
4000 | |
thread_cache_size |
14 | |
character_set_server |
utf8mb4 | |
collation_server |
utf8mb4_0900_ai_ci | |
tls_version |
TLSv1.2,TLSv1.3 | |
authentication_policy |
caching_sha2_password | |
performance_schema |
OFF | Disabled in default PG |
log_bin |
OFF | Disabled because backup-retention-period is 0 |
replica_parallel_workers |
4 | |
innodb_parallel_read_threads |
4 |
Key Points
innodb_doublewrite = OFF
In this configuration of db.m9g.large / MySQL 8.4.9 / default parameter group, innodb_doublewrite was OFF.
performance_schema = OFF, log_bin = OFF
Both were OFF in this configuration. Since performance_schema is disabled in the default parameter group, a custom parameter group is required to enable it. Regarding log_bin, it is OFF because automatic backups are disabled by --backup-retention-period 0. Please enable automatic backups if you want to use binary logs.
Comparison with EC2 M9g
On EC2, you can directly check detailed CPU information for Graviton5 (clock frequency, cache size, core architecture, etc.) using lscpu, dmidecode, and similar tools. For details, please refer to the previous article.
Since RDS does not allow direct access to the OS layer, the CPU and architecture-related information that can be confirmed from a MySQL session is limited to system variables exposed by MySQL and similar sources. The primary means of confirming the architecture is version_compile_machine = aarch64. Distinguishing the processor generation, such as whether it is Graviton5 or Graviton4, is not possible from the MySQL side. The instance class name (db.m9g) serves as the identifier indicating the generation.
Summary
I launched an M9g instance based on Graviton5 on RDS for MySQL and confirmed the information available through MySQL system variables and similar methods. From version_compile_machine = aarch64, I was able to confirm that MySQL is running as an aarch64 binary.
The price was approximately 9% higher than M8g for the region and size confirmed this time. On the other hand, the official announcement states up to 30% performance improvement and up to 23% better price-performance ratio compared to Graviton4-based instances. While the actual effect depends on the workload, performance improvements over M8g can be expected for CPU-bound processing.
As of June 2026, it is not yet available in the Tokyo region, but once it becomes available there, I would like to try comparing it with existing M8g-series instances.
