2017-09-05 4 views
1

マイCodeIgniterのアプリケーションが非常に遅い実行されている、私はプロファイラを有効にして、私はベンチマークを設定し、これは私が得るものです:CodeIgniterの予期せぬコントローラの実行時間

Loading Time: Base Classes      0.0009 
Leads Model          0.0007 
Url Helper          0.0000 
Check Session         0.0000 
Load Form Helper        0.0000 
Load Main Data         1.0286 
Load Head          0.0001 
Load Header          0.0001 
Load Lists          0.0003 
Load Footer          0.1239 
Load Main Script        0.0002 
Load Map Edit Script       0.0000 
Controller Execution Time (Leads/Index)  104.3904 
Total Execution Time       104.3914 

QUERIES: 12 (0.1479 seconds) 

私はページを更新するたびに、これは何をあるI取得する。 index()の機能の中にロードされているものはすべて期待どおりに時間がかかりますが、合計ではController Execution Timeはすべての時間の合計よりもはるかに高いです。 事前にお手数をおかけしていただきありがとうございます。

+0

ベンチマークの手順を記載してください。 – Sam

+0

専用ウェブサーバーまたは共有ウェブホスティング –

+0

@RaymondNijland専用ec2ミディアムインスタンス – zeus

答えて

0

これは、コード内に存在する問題である可能性があります。速度の問題があなたの意見の1つにある可能性があります。可能であれば、Xdebugを使用して出力プロファイラを作成することで、適切に閉じることができる何らかのループが発生する可能性があります。しかし、遅いものを見つけるのは簡単ですが、ロードする各ビューの周りにこれを追加すると便利です。

$this->benchmark->mark('header_start'); 
$this->load->view('header', $data); 
$this->benchmark->mark('header_end'); 

$this->benchmark->mark('filter_start'); 
$this->load->view('filter', $data); 
$this->benchmark->mark('filter_end');  

$this->benchmark->mark('footer_start'); 
$this->load->view('foooter', $data); 
$this->benchmark->end('footer_end'); 

読み込んでいる各ビューについて、ロードされている各ビューを示すベンチマークを設定します。出力プロファイラを有効にしたまま、各ビューの経過時間がページの下部に表示されます。問題のファイルでは、コード内でより多くのベンチマークを設定して、実行に最も長い時間がかかっているコードブロックを見つけます。

+0

私はあなたが提案しているものを正確にやっています。私が上に投稿したリストは、これをした後に得た結果です – zeus

関連する問題