2017-09-27 80 views
0

我只使用codeigniter for api。codeigniter性能控制器CI_Controller

我分析了服務器上的訪問日誌 平均可以接聽電話約5秒 並且發帖通話也平均需要5秒。

在system \ core \ Controller.php中有一個名爲CI_Controller的類 ,並且在構造函數的下面一行中花費4秒。

這個問題只是在我把所有的codeigniter代碼移到新的服務器上, 在舊的服務器上平均需要不到1秒。

我想解決這個問題。 任何想法,將不勝感激。

+0

CI是最快的框架存在的一個 - 所以沒有人能告訴你你的職責範圍內做的事情 - 也許UR與Ajax調用組合使用的會議也許不會 - 不過你必須提供比這更多的信息.​​..... – sintakonte

+0

系統\ core \ Controller.php的CI_Controller沒有問題。 codeigniter的每個控制器擴展了這個類的CI_Controller,所以這個類將在每個控制器中被調用,這可能會顯示它的佔用時間。但間接地,它正在由你的控制器調用,這需要花費時間。 – BSB

回答

0

笨控制器的樣子:

<?php defined('BASEPATH') OR exit('No direct script access allowed'); 

class Customname extends CI_Controller { 
    public function __construct() 
    { 
     parent::__construct(); 
    } 
} 

這意味着你的Customname控制器擴展名爲是CI_Controller核心框架類system\core\Controller.php,它會調用parent::__construct();這不過是構建核心是CI_Controller的。

所以你的自定義代碼或功能正在影響它。可能有以下幾種原因:

  • 檢查自動加載庫和幫助程序。
  • 檢查是否在控制器功能之前調用任何掛鉤。如果與會話存在
  • 檢查問題等等