[英]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.