翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
付録 II
このセクションでは、異なるシナリオで実行された pt-archiver ツールのベンチマーク結果について説明します。このテストでは、データベースに負荷をかけるために sysbenchdb.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 とリソースがほとんど消費されていません。
プライマリキーがあるテーブルをアーカイブする (データベースへの負荷あり)
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 は、積極的にはアーカイブ処理を行いません。