webgrindとxdebugを使用して、サイトのパフォーマンスを測定しました。ページの読み込み時間の85%は、関数php :: PDO-> __ Construct(約1秒)に費やされます...
これは受け入れがたい。どういうわけかこの機能を最適化できますか?(キャッシング、mysql構成など)
私はphp、mysql、codeigniterをredbeanで使用しています。redbeanはそのpdoコンストラクト関数を使用します。
これが関数のソースコードです
/**
* Establishes a connection to the database using PHP PDO
* functionality. If a connection has already been established this
* method will simply return directly. This method also turns on
* UTF8 for the database and PDO-ERRMODE-EXCEPTION as well as
* PDO-FETCH-ASSOC.
*
* @return void
*/
public function connect() {
if ($this->isConnected) return;
$user = $this->connectInfo['user'];
$pass = $this->connectInfo['pass'];
//PDO::MYSQL_ATTR_INIT_COMMAND
$this->pdo = new PDO(
$this->dsn,
$user,
$pass,
array(1002 => 'SET NAMES utf8',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
)
);
$this->pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, true);
$this->isConnected = true;
}