MySQL Read Replica に対して負荷をかけてオートスケーリング動作を確認する
2726 ワード
モチベーション
Amazon RDS (ここではAuroraを選択) のリードレプリカに対するオートスケーリングが正常に動くかどうかを確認するためにリードレプリカに対して負荷をかけたい。
ぱっとぐぐってもピンとくるものがなかったのでメモ。
方針
Sysbench を利用して、以下の方針で負荷をかける。
- マスターDBに対してテスト用データを書き込む (リードレプリカには書き込んだ直後にコピー・反映される)
- リードレプリカに対して読み取り専用の負荷試験を行う
インストール手順は上記 Github を参照してください。
手順
各種DBツールはインストールしているものとします。 DBは今回はAurora 5.6互換を利用しましたが、それ以外のバージョンでも行けるはずです。
DB接続時のユーザーはデータベースとテーブルを作れる権限を持っていることを前提とします。
# DB作成 (パスワードはコンソールに入力)
$ mysqladmin create benchmark -u <接続ユーザー> -p -h <マスターDBのホスト名>
# テストデータ挿入 (oltp_read_write 部分は
# oltp_read_only でも oltp_write_only でも OK)
$ sysbench --db-driver=mysql /
--mysql-host=<マスターDBのホスト名> \
--mysql-user=<接続ユーザー> --mysql-password=<接続パスワード> \
--mysql-db=benchmark oltp_read_write prepare
# 負荷テストをリードレプリカに対して readonly で実施
# 同時接続数32, 負荷時間300秒
$ sysbench --db-driver=mysql /
--mysql-host=<リードレプリカのホスト名> \
--mysql-user=<接続ユーザー> --mysql-password=<接続パスワード> \
--mysql-db=benchmark oltp_read_only run \
--threads=32 --time=300
# 不要な場合、終わった後は該当テーブルを削除
$ mysqladmin drop benchmark -u <接続ユーザー> -p -h <マスターDBのホスト名>
実施結果
t2.small 1台のリードレプリカに対してCPU利用率50%程度まで上昇し、スケールアウトすることと、負荷が無くなってからしばらくたつとスケールインする両方を確認できました。
Author And Source
この問題について(MySQL Read Replica に対して負荷をかけてオートスケーリング動作を確認する), 我々は、より多くの情報をここで見つけました https://qiita.com/t-kigi/items/f8dc764093e2e45e12fd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .