李魁的博客

有时候心情美丽的像一杯咖啡,
一张很大的圆桌上铺着洁白的桌布,
没有花瓶和花,因为有你...

Xdebug检查数据库运行慢的原因

栏目:技术 发布日期:2012-01-07 阅读量:0
TAG:XdebugWinCachegRind数据库Discuz

  在本地开发环境中,一直发现运行速度并不理想,主要是相对服务器端的运行速度而言,在本地打开页面时,使用HttpWatch来监测,需要3秒左右的时间。

  是什么原因导致页面访问速度慢?还是使用Xdebug来做更进一步的测试。Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

  下载Xdebug很简单,并且这个软件也不需要安装,我是使用EasyPHP作为本地开发环境的,自带的就有,只需要稍做配置就可以使用了。不过要想查看Xdebug的日志文档,还需要使用另一个件WinCachegRind。

  每次访问页面都Xdebug都会产生一个日志文件,只需要使用WinCachegRind打开这个文件即可查看程序执行过程中使用的时间。发现问题出在查询数据库方面,在核心类里有个_init_db的方法,每次访问页面时,这里需要1000毫秒以上的时间,如果两次查询数据库,就要使用2秒左右的时间,所以一个页面用上3秒的时间也属于很正常了。

  但是在服务器端是不存在这个问题的,所以问题一定是在本地开发环境里。为了进一步检查出原因,我从官方下载了DiscuzX1.5和2.0的两个版本,在本地安装。再测试,也是需要大致相同的时间。

  看来原因不在程序和数据库方面,因为在台式机上运行是不存在这样的问题的,主要是在Windows7上,但在我另一台联想笔记本是,却没有这个问题。最后,只能把原因归结到我现在使用的Acer笔记本上了。

发表评论