기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
부록 II
이 섹션에서는 다양한 시나리오에서 pt-archiver 도구에 대한 벤치마킹 결과를 제공합니다. sysbenchdb.r6g.8xlarge
인스턴스에서 수행됩니다.
다음 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
프라이머리 키가 없고 인덱스가 하나만 있는 테이블 보관(데이터베이스에 로드 없음)
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분이 걸렸습니다. 이 테이블에는 2백만 개의 행이 있었지만 도구는 인덱싱된 열에 대해 고유한 데이터가 있는 행만 아카이브했습니다.
기본 키가 있는 테이블 보관(데이터베이스에 로드 없음)
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
1999999 행을 보관하는 데 약 9시간, 43분, 36초가 걸렸습니다.
다음 그래프는 테스트 중에 sysbench에서 적용한 부하로 인해 CPU 사용률이 최대 15%였음을 보여줍니다. 로드가 완료된 후 pt-archiver는 아카이브를 완료하기 위해 예상대로 최소 CPU를 소비하는 작업을 계속했습니다.

그래프에서 알 수 있듯이 pt-archiver는 데이터베이스에 로드가 있을 때 적극적으로 아카이브되지 않습니다.