부록 II - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

부록 II

이 섹션에서는 다양한 시나리오에서 pt-archiver 도구에 대한 벤치마킹 결과를 제공합니다. sysbench 도구는이 테스트에서 데이터베이스에 로드를 적용하는 데 사용됩니다. 모든 테스트는 인스턴스 클래스에서 실행되는 Amazon RDS for MySQL db.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와 리소스를 거의 소비하지 않음을 보여줍니다.

실행 중에 백분율이 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

1999999 행을 보관하는 데 약 9시간, 43분, 36초가 걸렸습니다.

다음 그래프는 테스트 중에 sysbench에서 적용한 부하로 인해 CPU 사용률이 최대 15%였음을 보여줍니다. 로드가 완료된 후 pt-archiver는 아카이브를 완료하기 위해 예상대로 최소 CPU를 소비하는 작업을 계속했습니다.

그래프는 실행이 시작될 때 급증하며 실행이 완료될 때까지 상승된 상태로 유지됩니다.

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