所以我遇到了一个问题,我应该只在大页面上遇到问题,而在任何页面上都遇到了问题。
我正在尝试使用CodeIgniter制作REST api,它可以工作,但是我加载的任何页面都很慢。我说的是20到30秒的页面加载时间,总值504字节。
我添加了额外的基准,它显示下载数据大约需要0.04秒。
Rankings.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驱动程序。
有人知道为什么它这么慢还是我可以轻松设置调试工具吗?
谢谢
答案 0 :(得分:0)
好的,经过几个小时的挖掘,我发现了问题所在。
问题如下:
我的数据库检索非常缓慢(我们在db4free或smth上进行了演示),这花费了很长时间。我们还将$db['default']['pconnect']
设置为false,这意味着我们必须不断重新连接到数据库。
出于测试目的,将pconnect设置为true将解决此问题。哦:获得更快的生产数据库。