前回の続き
rarirure.rip

目的

RDS Proxy 良いじゃん と前回記事を書いたけど、パフォーマンスは落ちると思ったので
どれぐらい落ちるかを超簡単にベンチマークをする。

HammerDB

hammerdb.com

HammerDB の使い方は atsuizo さんのを参考にしました。
atsuizo.hatenadiary.jp

TPC-C を流す

設定

hammerdb>print dict
Dictionary Settings for MySQL
connection {
mysql_host = hasegawa.cluster.ap-northeast-1.rds.amazonaws.com
mysql_port = 3306
}
tpcc       {
mysql_count_ware       = 1
mysql_num_vu           = 1
mysql_user             = root
mysql_pass             = ZokWAWywPwQtO7xr
mysql_dbase            = tpcc
mysql_storage_engine   = innodb
mysql_partition        = false
mysql_total_iterations = 1000000
mysql_raiseerror       = false
mysql_keyandthink      = false
mysql_driver           = timed
mysql_rampup           = 2
mysql_duration         = 5
mysql_allwarehouse     = false
mysql_timeprofile      = false
mysql_async_scale      = false
mysql_async_client     = 10
mysql_async_verbose    = false
mysql_async_delay      = 1000
}
hammerdb>print vuconf
Virtual Users = 4
User Delay(ms) = 500
Repeat Delay(ms) = 500
Iterations = 1
Show Output = 1
Log Output = 0
Unique Log Name = 1
No Log Buffer = 0
Log Timestamps = 1

結果

5回計測した、平均 TPM

without RDS Proxy

TEST RESULT : System achieved 29349 MySQL TPM at 9754 NOPM
TEST RESULT : System achieved 23279 MySQL TPM at 7660 NOPM
TEST RESULT : System achieved 30078 MySQL TPM at 9929 NOPM
TEST RESULT : System achieved 30173 MySQL TPM at 9892 NOPM
TEST RESULT : System achieved 30125 MySQL TPM at 9940 NOPM

平均 TPM: 28,601

with RDS Proxy

TEST RESULT : System achieved 29353 MySQL TPM at 9709 NOPM
TEST RESULT : System achieved 20001 MySQL TPM at 6526 NOPM
TEST RESULT : System achieved 23056 MySQL TPM at 7553 NOPM
TEST RESULT : System achieved 20105 MySQL TPM at 6551 NOPM
TEST RESULT : System achieved 26769 MySQL TPM at 8721 NOPM

平均 TPM: 23,857

まとめ

RDS Proxy を使うとパフォーマンスは落ちる。