Google Cloud SQL is a fully managed database service that makes it easy to set-up, maintain, manage, and administer your relational MySQL databases in the cloud. Cloud SQL allows you to focus on your applications rather than administering your databases. Hosted on Google Cloud Platform, Cloud SQL provides a database infrastructure for applications running anywhere. To evaluate the performance of Google’s Cloud SQL Instances, we ran the tpcc-mysql benchmarking utility with a scale factor of 500 warehouses. The purpose of running tpcc-mysql on each system was to determine the throughput of each instance under varying loads (number of connections or threads). While the benchmark tests were being run, we took regular snapshots of the following data using MySQL Workbench.
- Number of select transactions executed per second
- Number of insert transactions executed per second
- Number of update transactions executed per second
- InnoDB Disk Reads – MB/s
- InnoDB Disk Reads – MB/s
Testing Methodology
Following is the methodology used for performing the tpcc benchmarks:-
- All the testing was done with the tpcc-mysql package, with a scale factor of 500 Warehouses.
- All testing was done using a Google Compute VM
- Ubuntu 15.04 machine
- Specifications: n1-standard-4 - 4 vCPU, 15 GB Memory
- Zone: us-central1-a
- Following Cloud SQL instances were bench-marked:
Cloud SQL Instance | Cloud SQL Instance Type | Zone | Memory |
D8 | Standard instances | us-central1-a | 4G |
D16 | Standard instances | us-central1-a | 8G |
D32 | Standard instances | us-central1-a | 16G |
db-n1-standard-4 | Performance instances - Standard | us-central1-a | 15G |
db-n1-standard-8 | Performance instances - Standard | us-central1-a | 30G |
db-n1-standard-16 | Performance instances - Standard | us-central1-a | 60G |
db-n1-highmem-2 | Performance instances - Hi Memory | us-central1-a | 13G |
db-n1-highmem-4 | Performance instances - Hi Memory | us-central1-a | 26G |
db-n1-highmem-8 | Performance instances - Hi Memory | us-central1-a | 52G |
db-n1-highmem-16 | Performance instances - Hi Memory | us-central1-a | 104G |
- We used 100, 200, 300 and 400 concurrent user sessions (threads).
- We used a scale factor of 500 warehouses which roughly transforms to 50 GB data in the database.
- We performed four iterations of tests per instance by varying the number of connections (threads) per run. Tests were performed using the 100, 200, 300 and 400 threads.
- For each set of user sessions, we performed a half hour-long run, gathering data for new order transactions every 10 seconds.
- Following data was gathered:
- Throughout expressed as tpm-C - Orders Processed per Minute
- Number of select transactions executed per second
- Number of insert transactions executed per second
- Number of update transactions executed per second
- InnoDB Disk Reads – MB/s
- InnoDB Disk Reads – MB/s
Benchmarking Results - DML Transactions Per Minute
The following graph represents the transactions for each instance under varying loads for SELECT transactions.- For 100, 200 and 300 threads db-n1-highmem-16 outperformed the rest by a large margin
- For 400 threads db-n1-highmem-8 and db-n1-highmem-16 performed the similar
- db-n1-standard-8 and db-n1-standard-16 performed the same for all thread counts
- Rest of the instances performed similarly
- For 100, 200 and 300 threads db-n1-highmem-16 outperformed the rest by a large margin
- For 400 threads db-n1-highmem-8 and db-n1-highmem-16 performed same
- db-n1-himem-4, db-n1-standard-8 and db-n1-standard-16 performed the same for all thread counts
- Rest of the instances performed similarly
- For 100, 200 and 300 threads db-n1-highmem-16 outperformed the rest by a large margin
- db-n1-standard-8 and db-n1-standard-16 performed the same for all thread counts
- Rest of the instances performed similarly
Conclusion
The following graph represents the overall throughput of all instances under varying loads. A few notable conclusions follow.- The greatest throughput was achieved at 100 threads
- db-n1-standard-16 (60G) performed very close to db-n1-himem-16 (104G).
- db-n1-himem-8 (52G) performance was appreciably lower than db-n1-standard-16 (60G)
- Google Cloud SQL High Performance instances performed significantly better than currently being offered Google Cloud SQL Standard Class Instances by a scale of 100-200%
Share this
Previous story
← How to troubleshoot an ORA-28030 error
You May Also Like
These Related Stories
Migrate RDB to Cloud SQL Using Google’s Dataflow
Migrate RDB to Cloud SQL Using Google’s Dataflow
Jan 13, 2022
2
min read
101 Series of Oracle in Google Cloud - Part I : Building ASM and Database
101 Series of Oracle in Google Cloud - Part I : Building ASM and Database
Apr 8, 2020
28
min read
Oracle 18c Non-CDB databases in the Oracle Database Cloud Service (ODBCS)
Oracle 18c Non-CDB databases in the Oracle Database Cloud Service (ODBCS)
Apr 6, 2018
7
min read
No Comments Yet
Let us know what you think