付録 II - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

付録 II

このセクションでは、異なるシナリオで実行された pt-archiver ツールのベンチマーク結果について説明します。このテストでは、データベースに負荷をかけるために sysbench ツールが使用されています。いずれのテストも、db.r6g.8xlarge インスタンスクラスで稼働する Amazon RDS for MySQL インスタンス上で実行されました。

データベースへの負荷を準備し実行するために、次の sysbench コマンドが使用されています。

sysbench oltp_read_write --db-driver=mysql --mysql-db=<DATABASE> --mysql-user=<USER> --mysql-password=<PASSWORD> --mysql-host=<ENDPOINT> --tables=1000 --table-size=2000000 --threads=500 prepare  sysbench oltp_read_write --db-driver=mysql --mysql-db=<DATABASE> --mysql-user=<USER> --mysql-password=<PASSWORD> --mysql-host=<ENDPOINT> --tables=1000 --rate=500 --threads=500 run 

プライマリキーがなく、インデックスが 1 つのみのテーブルをアーカイブする (データベースへの負荷なし)

Started at 2022-11-07T05:29:12, ended at 2022-11-07T06:03:31 Action     Count   Time    Pct commit    600050 1715.3582   83.31 select    300025  166.5470    8.09 inserting   300024  165.4025    8.03 other       0  11.6644    0.57

300,024 行のアーカイブに約 34 分かかっています。200 万行からなるテーブルでしたが、インデックス列の値が一意の行のみがアーカイブされました。

プライマリキーがあるテーブルをアーカイブする (データベースへの負荷なし)

Started at 2022-11-16T08:53:49, ended at 2022-11-16T12:38:18 Action         Count   Time      Pct commit       4000000 11065.9534      82.16 select       2000000  1278.1854       9.49 inserting    1999999  1050.4961       7.80 other              0    74.1519       0.55

1,999,999 行のアーカイブに、約 3 時間 44 分 29 秒かかっています。

次のグラフによると、システムに負荷がなく、pt-archiver が単独で稼働している場合は、CPU とリソースがほとんど消費されていません。

実行中、パーセンテージが 0.2 増加しています。

プライマリキーがあるテーブルをアーカイブする (データベースへの負荷あり)

Started at 2022-11-16T17:37:07, ended at 2022-11-17T03:20:43 Action         Count   Time        Pct commit       4000000 19688.8362      56.23 inserting    1999999 13933.4418      39.79 select       2000000  1305.1770       3.73 other              0    89.1787       0.25

1,999,999 行のアーカイブに、約 9 時間 43 分 36 秒かかっています。

次のグラフは、テスト中に CPU 使用率が最大 15% に上昇したことを示しています。これは sysbench で適用した負荷によるものです。負荷の終了後も pt-archiver は、想定どおりに動作を継続しており、アーカイブを完了するために最小限の CPU を消費しています。

グラフは、実行の開始時に急上昇を示しており、上昇は、実行が完了するまで継続しています。

グラフから明らかなように、データベースに負荷がかかっている場合、pt-archiver は、積極的にはアーカイブ処理を行いません。