에서보다 느립니다. 따라서 Google App Engine에서 Google Cloud SQL에 연결하려고 시도했습니다. 모든 것이 작동하지만 대기 시간이 매우 길다. 간단한 선택 쿼리는 약 1.3 초 걸립니다. 그러나 localhost에서 연결할 때 훨씬 짧은 시간이 걸립니다. 연결의 차이는 다음과 같다 :App Engine에서 Cloud SQL에 연결하는 것이 localhost
앱 엔진 YAML에
내가 사용$servername = getenv('MYSQL_DSN');
$username = getenv('MYSQL_USER');
$password = getenv('MYSQL_PASSWORD');
$dbname = getenv('MYSQL_DATABASE');
$connection = new mysqli(null, $username, $password, $dbname, null, $servername);
로컬 호스트에서 클라우드 SQL에 연결하는 앱 엔진 PHP에서
MYSQL_DSN: /cloudsql/instanceName
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_DATABASE: dbname
:
$servername = "ip.address";
$username = getenv('MYSQL_USER');
$password = getenv('MYSQL_PASSWORD');
$dbname = getenv('MYSQL_DATABASE');
$connection = new mysqli($servername, $username, $password, $dbname);
localhost에서 연결할 때 내 컴퓨터의 IP 주소를 Cloud SQL das에 인증했습니다. hboard, 그래서 직접 IP 주소를 통해 연결하는 것은 문제가되지 않습니다. 이제 내 문제는 localhost에서 PHP를 실행하여 Cloud SQL에 연결할 때 대기 시간이 App Engine에서 연결할 때보 다 낮다는 것입니다. 왜 그리고 어떻게하면이 문제를 해결할 수 있습니까?
대기 시간은 어떻게 측정합니까? –
@danCornilescu 앱 엔진 대시 보드에 대기 시간이 표시되므로 흥미로운 점은 클라우드 SQL에 허용 된 네트워크를 0.0.0.0.0으로 설정하고 Cloud SQL IP 주소를 통해 직접 연결하면 훨씬 빠릅니다. 즉, App Engine이 Cloud SQL의 보안 검사에 연결하면 연결이 느려지 게됩니다. :/어떤 생각이이 문제를 해결하는 방법? – andy
1 세대 또는 2 세대 Cloud SQL 인스턴스입니까? 응용 프로그램 및/또는 SQL 인스턴스가있는 영역은 무엇입니까? 대기 시간이 일관되게 길어 지거나 간헐적입니까? 실제로 SQL 인스턴스의 대기 시간을 측정하는 방법은 무엇입니까? App Engine 대시 보드는 애플리케이션의 대기 시간을 제공 할 수 있지만 특히 Cloud SQL 인스턴스의 대기 시간은 제공하지 않습니다. 응용 프로그램에 로그를 추가하거나 [Stackdriver Trace] (https://cloud.google.com/trace/docs/viewing-details)를 사용하여 응용 프로그램과 SQL 인스턴스 간의 통신 대기 시간을 확인할 수 있습니다. – Nicholas