安装了wordpress 3.2.1 , 但是在本地运行非常慢,特别是管理画面,一个页面达到了4,5秒, 几乎不可以忍受。
从网上搜索了一下,基本都是加缓存呀,去除plugin之类的。 可我这刚装的wordpress, 有什么plugin呀。
至于缓存,管理画面可不能用什么缓存的。
找啊找,终于找到关于profiling的文章,讲到了把xdebug.profiler_enable打开之后,再用WinCacheGrind去查找瓶颈的。
发觉了,瓶颈在于mysql_connect函数,大概花了一秒时间。 查找的结果是php对ipv6支持不好所出现的问题。 所以,编辑hosts文件,
把ipv6的那段(::1 localhost)给删掉好像能解决。(没认真测试)
可是,我的另外一个用codeigniter的项目,也是用localhost做连接的,为什么不出现同样的问题呢?
调查了一下,发觉codeigniter默认用mysql_pconnect函数, 也就是说,php发觉以前连接过的话,直接使用保存的连接,而不会去
尝试重新连接。 所以,除了第一次连接之外,速度可以很快。
最终处理:修改wp-db.php, 把使用mysql_connect的地方改成mysql_pconnect, 然后xdebug.profiler_enable重新改回off 。
再访问网站的时候,速度终于可以满足要求了。
追加说明:
后来重装wordpress了,结果感觉mysql_connect函数也没慢多少。 估计最主要还是那个ipv6的毛病