2013-07-22 1 views
0

제 3 자 API에 액세스하고 요약 된 데이터 버전을 내 데이터베이스에 저장해야하는 많이 사용되는 프로세스가 있습니다. 이 데이터는 3 개의 테이블에 걸쳐 있으므로 독립적으로 호출되는 3 개의 삽입 문이 있습니다. 이 API를 100 회 호출해야하면 300 개의 삽입 문이 실행됩니다.multi_query를 사용하면 PHP를 사용하여 AWS RDS I/O 및 관련 비용을 줄일 수 있습니까?

AWS EC2 (PHP) 및 RDS (MySql)를 사용하고 있으며 이제 RDS I/O 비용이 인스턴스 비용과 일치하기 시작 했으므로이 프로세스가 가장 중요합니다.

multi_query를 사용하여 3 개의 insert 문을 패키지화하면 데이터베이스 I/O의 3 분의 1 (따라서 관련 비용의 1/3)이 발생하거나 $ mysqli-> 각 문에 대한 more_results()?

답변

1

나는 그 점에서 도움이 될지 의심 스럽다.

mutli_query가 유용하지만 데이터베이스 소프트웨어와 관련된 RDS 인스턴스에 대한 읽기 또는 쓰기에 대해 RDS 서버가 동일한 수의 쿼리를 계속 실행하고 있습니다. 여기에는 로그 (binlog뿐 아니라 오류 로그, 일반 로그 등), 임시 파일 등이 포함됩니다.

길거나 복잡한 쿼리는 여러 IOPS로 계산됩니다. 읽기 복제본은 binlog를 읽고 나서이를 기반으로 쿼리를 실행하기 때문에 추가 IOPS가 발생합니다.

하나의 호출에 여러 개의 쿼리를 넣으면 사용 된 iops가 낮아지는 것은 거의 없습니다.

관련 문제