簡體   English   中英

小頁面加載時CodeIgniter的運行速度極其慢

[英]CodeIgniter incredibly slow on small page load

所以我遇到一個問題,我可能應該只在大頁面上,而在任何頁面上都無法獲取。

我正在嘗試使用CodeIgniter制作REST api,它可以工作,但是我加載的任何頁面都非常慢。 我說的是20到30秒的頁面加載時間,總值504字節。

我添加了額外的基准,它顯示下載數據大約需要0.04秒。

Ranks.php(控制器)

class Rankings extends CI_Controller
{

    public function __construct()
    {
        parent::__construct();
        $this->load->model('rankingsmodel');
    }

    /**
     * Index Page for this controller.
     */
    public function index()
    {
        $this->benchmark->mark('code_start');

        $rankings =$this->rankingsmodel->getAllRankings();
        $mappedRankings = array_map(array($this, 'mapRank'), $rankings, array_keys($rankings));

        $this->benchmark->mark('code_end');
        echo $this->benchmark->elapsed_time('code_start', 'code_end');

        return $this->jsonIFy($mappedRankings);
    }

    public function mapRank($ranking, $k)
    {
        $ranking['rank'] = $k;
        return $ranking;
    }

    public function jsonIFy(array $data = array())
    {
        echo json_encode($data);
    }
}

我的排名模型

class RankingsModel extends CI_Model
{
    public function __construct()
    {
        parent::__construct();
    }

    public function getAllRankings()
    {
        $this->benchmark->mark('code_start2');

        $query =$this->db->query('SELECT * FROM characters3 WHERE gm < 3 ORDER BY rebirths DESC')->result_array();

        $this->benchmark->mark('code_end2');
        echo $this->benchmark->elapsed_time('code_start2', 'code_end2');
        return $query;
    }
}

我完全不知道為什么頁面加載速度如此之慢,而我的基准測試卻表明加載頁面需要0.03 / 0.04。 我試過設置xdebug,但是沒有設置它的運氣。 我正在使用codeigniter附帶的常規mysqli驅動程序。

有誰知道為什么它這么慢或者我可以輕松設置任何工具進行調試?

謝謝

好了,經過幾個小時的挖掘,我發現了問題所在。

問題如下:

我的數據庫的檢索速度非常慢(我們在db4free或smth上有一個演示),這花費了很長時間。 我們還把$db['default']['pconnect']設置為false,這意味着我們不得不不斷地重新連接數據庫。

出於測試目的,將pconnect設置為true將解決此問題。 哦:獲得更快的生產數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM