2013-12-19 2 views
3

10 열, 단일 숫자 열의 기본 키를 제외한 색인 및 2,500 행의 단일 INSERT INTO 문에서 삽입을 수행하는 데 40 ~ 60 초가 소요됩니다 (단일 거래 ... 오전 1시 약 40 초 및 정상 업무 시간 중 60 초).Google Cloud SQL - 느린 INSERT 성능

저는 com.mysql.jdbc.GoogleDriver와 D0 인스턴스를 사용하고 있습니다.

내가 로컬 dev 환경을 사용하고 그것을 통해 원격으로 동일한 코드를 사용하면 (정확히는 diff가 원격 연결 임) 동일한 삽입이 40 초에서 60 초가 아니라 약 10 초 밖에 걸리지 않는다는 것이 이상하다는 것을 알게되었습니다. 앱 엔진으로 이동할 때 무언가가 많이 느려지고 있습니다 ...

App Engine 배포 성능을 향상시킬 방법이 있습니까?

편집 : 방금 ​​코드 예제를 추가했습니다. dev 서버를 실행하고 클라우드 SQL에 액세스 할 때 이것은 매우 빨리 실행됩니다 (마지막 테스트에서 10 초).

CREATE TABLE import_test (import_test_ID bigint NOT NULL COMMENT 'AUTOKEY' , INDEX (import_test_ID) , first_name varchar(30) COMMENT '' , last_name varchar(30) COMMENT '' , address varchar(60) COMMENT '' , city varchar(30) COMMENT '' , state varchar(10) COMMENT '' , zip varchar(15) COMMENT '' , PRIMARY KEY (import_test_ID) ) COMMENT '' 

내가 여기 아래 손질 한 매우 긴 삽입 (약 3100 행) :

INFO: INSERT INTO import_test (import_test_ID, first_name, last_name, address, city, state, zip) VALUES (?,?,?,?,?,?,?), (?,?,?,?,?,?,?), (?,?,?,?,?,?,?), (?,?,?,?,?,?,?), ... 
+0

방금 ​​D2 크기 인스턴스로 업그레이드하려고했지만 불행히도 D0과 정확히 동일한 성능을 보았습니다. 2,500 행을 삽입하는 데 약 57 초가 걸렸습니다. 오늘날의 컴퓨팅 성능을 감안할 때 이것은 매우 느립니다. –

+0

이것을 재현 할 수있는 몇 가지 샘플 코드를 제공해 주시겠습니까? –

+0

코드 예제가 방금 추가되었습니다 –

답변

0

당신은 비동기 복제를 설정할 수 있습니다

다음은 CREATE TABLE 문이다.

+0

설명해 주시겠습니까? – i3arnon

+0

인스턴스가 비동기로 설정됩니다. 수수께끼는 개발자 환경 (Eclipse)에서 액세스 할 때 * 동일한 * 인스턴스가 삽입을 수행하는 데 10 초가 걸렸으며 배포 할 때 45 초 이상이었습니다. –

+0

당신은 * same * 인스턴스입니까? 데이터 저장소 백업 프로젝트의 dev 모드에서는 머신 데이터베이스 대신 로컬을 사용한다는 것을 알고 있습니다. 실제로 데이터 저장소의 경우 여기서는 데이터 저장소와 같은 역할을하는 sqlite db가 있습니다. 따라서 dev 모드에서 문자 그대로 동일한 데이터베이스와 이야기하고 있다는 것을 파헤 치지 않으면 확신하지 못합니다. –