2009-10-29 3 views
0

이 코드는 실행하는데 거의 0.5 초가 걸립니다. 누군가가이 일이 일어날 수있는 몇 가지 이유와 가능한 해결책을 도울 수 있습니까? PDO 생성자가 매우 느림 (mysql)

가 중요한 경우

는 DB는 아마존 RDS

 $this->_connection = new PDO(
      $dsn, 
      $this->_config['username'], 
      $this->_config['password'], 
      $this->_config['driver_options'] 
     ); 

답변

1

PDO의 생성자가 데이터베이스 연결을 엽니 다에 의해 호스팅됩니다. DB가 원격 서버에있을 때 ping 시간과 연결을 여는 것뿐만 아니라 로그인하는 경우에도 0.5 초 (500ms)의 일시 중지가 너무 놀라운 것은 아닙니다.

+1

응답 해 주셔서 감사합니다. 일반적으로 Amazon RDS를 사용하는 이점이 없어지는 것처럼 보입니까? – Brian

+1

이것은 영구 연결을 사용하는 가장 좋은 이유입니다. 로컬 네트워크에서 지속적인 연결은 번거롭게 할 가치가 없습니다. 느린 네트워크에서, 이것은 그들이 편리하게 들어오는 곳입니다. 연결 코드/클래스에 현재 트랜잭션에서 열려있는 트랜잭션이 있는지 확인하고 다시 롤백해야합니다. – longneck