私はサイトの故障の問題に直面しています。写真関係のサイトなので。サーバーのメモリのほぼ 95% を使用しています。100% に達すると、サイトはダウンしています。プロファイラーから確認したところ、次の詳細が得られました。
Loading Time: Base Classes 0.0404
Controller Execution Time ( Events / Get Series Images ) 10.7655
Total Execution Time 10.8061
MEMORY USAGE : 3,948,864 bytes
詳細は添付ファイルをご覧ください。
ここでデータはJSON を使用して Progress サーバーから取得されます。何がそうさせたのか、私は驚いています。しかし、私の考えでは、作業が完了したときにメモリを解放しないのはなぜですか? CIの別のフォーラムに行きましたが、答えが得られませんでした。
ob_end_flush() 、 ob_flush() 、..を使用しようとしましたが、望ましい結果を得ることができませんでした。私もCIでの使い方がよくわかりません。
問題を解決できることを願っています。よろしくお願いいたします。
私はHMVCを使用しています。
コード
// controller
public function get_event_images(){
// pagination
$data['current_page'] = @$_GET['page']?@$_GET['page']:1;
$data['event_id'] = $this->uri->segment(3);
$data['event_name'] = urldecode($this->uri->segment(4));
$url = JSON_URL."jsread.p?call=treeimg&user=&lang=en&tree=".$data['series_id']."&sort=last&max=".MAX_RECORD."&startpage=".$data['current_page']."&pagesize=".PAGE_SIZE;
$json_formated_data = readJSONURL($url);
//extract array of images only
$data['images'] = getData($json_formated_data);
$image_stat = getImageStat($json_formated_data);
$data['total_images']= $image_stat[6];
$data['total_rows'] = $image_stat[5];
$data['main_content'] = 'eventimages';
$data['title'] = "Event Images";
// store series details in session
$newdata = array(
'event_id' =>$data['event_id'],
'event_name'=> $data['event_name']
);
$this->session->set_userdata($newdata);
$this->load->view('ktmevent/template_page', $data);
}
// view
if(!empty($images)):
foreach($images as $data):
echo "<li>";
echo "<div class=\"image\">";
echo "<a href=\"".site_url('events/image_detail/'.$series_id."/".$data['Photono'])."\">";
echo "<img src=\"http://www.mysite.com".$data['Thumburl']."\" />";
echo "</a>";
echo "</div>";
echo "<div>";
echo anchor('events/image_detail/'.$series_id.'/'.$data['Photono'], 'Detail');
echo "</div>";
echo "</li>";
endforeach;
endif;