2016-04-06 9 views
0

コードイグナイター3.0.1で開発されたプロジェクトでSQL_server 2008データベースにアクセスすると、 '実際の'データベースを使用すると応答時間が非常に悪くなります。 (ページを提供するために> 5秒以上)。コードイグナイター3 + sql_server 2008の悪いパフォーマンスをデバッグする方法

いくつかのテスト環境でテストされた同じプロジェクトは、正常な出力時間(< 1秒)で正常に動作します。

実際のデータベースではパフォーマンスに問題があると思います。しかし、他のどのDBアプリケーションもパフォーマンスに問題がないようです。実際のDB管理者は、「すべてがデータベースで問題ありません。他に誰も問題がない。

私はひっかかっています。他に何をしようか分からない。

パフォーマンスの問題がどこでどのようにデバッグできますか。 ヘルプやヒントがあれば幸いです。使用するツールとenvironementsの


詳細バージョン:

実環境: Webサーバー:XAMPP 5.5.30 Windows上の7 データベースサーバー:SQL_SERVER 2008のWindows Server 2008 R2の標準。

いくつかのテスト環境: Webサーバー:Windows 7とWindows 10では同じXAMPP 5.5.30以前のXAMPPバージョンでもテスト済みです。 データベースサーバー:SQL_server 2008 ExpressおよびSQL_server 2014 Express。 Windows 7およびWindows 8の場合

ネットワーク:XAMPPと同じコンピュータと異なるコンピュータでテストされています。実際の環境と同じネットワークでテストされ、他のネットワークでテストされます。

DBドライバ:SQL_SERVERに接続するためのネイティブドライバを使用した:

$db['my_db_name'] = array(
    'dsn' => '', 
    'hostname' => 'my_server\SQLEXPRESS', 
    'username' => 'xxx', 
    'password' => 'yyy', 
    'database' => 'zzz', 
    'dbdriver' => 'sqlsrv', 
    'dbprefix' => '', 
    'pconnect' => FALSE, 
    'db_debug' => TRUE, 
    'cache_on' => FALSE, 
    'cachedir' => 'application/cache', 
    'char_set' => 'utf8', 
    'dbcollat' => 'utf8_general_ci', 
    'swap_pre' => '', 
    'autoinit' => TRUE, 
    'encrypt' => FALSE, 
    'compress' => FALSE, 
    'stricton' => FALSE, 
    'failover' => array(), 
    'save_queries' => TRUE 
); 

答えて

1

ローカルにこのに探して起動するいくつかの方法があります:

  • は2通りプロファイラ(Xdebugの機能をインストールします。 -in-1)、キャッシュグラインドビューアを使用する(phpStormはこれをサポートしていますが、そこには他のツールがあります)
  • NewRelicのようなAPMを使ってdiffereをドリルダウンしますntの呼び出しとクエリ(私はXdebugやxhprofのようなプロファイラがクエリと同じ深さになるかどうか分かりません)
  • データベースが適切に索引をつけて構造化されていることを確認してください(これはデータベース呼出の問題が原因です)。
関連する問題