Performance 由于php::session\u启动,CakePHP页面加载缓慢
我发现我的CakePHP应用程序中没有调用数据库的页面加载大约需要4秒钟,这太慢了 我尝试了以下几件事,但都没有成功:Performance 由于php::session\u启动,CakePHP页面加载缓慢,performance,cakephp,xdebug,kcachegrind,Performance,Cakephp,Xdebug,Kcachegrind,我发现我的CakePHP应用程序中没有调用数据库的页面加载大约需要4秒钟,这太慢了 我尝试了以下几件事,但都没有成功: 重新启动计算机 重新安装Uniserver 将调试级别从2切换到0 从FileCache切换到APC缓存 我得到了一个XDebug分析器转储,并在KCachegrind中观察到最耗时的函数是php::session_start,它由\webroot\index.php调用。我还使用CakePHP调试工具包检查了性能,发现最耗时的项目是“核心处理(源自$\u服务器[“请求\u
- 重新启动计算机
- 重新安装Uniserver
- 将调试级别从2切换到0
- 从FileCache切换到APC缓存
- ThinkPad T400
- 英特尔酷睿2双核处理器
- OCZ SSD
- 4 GB内存
- Windows 7 64位版本
- CakePHP版本2.2.3
- PHP错误级别(E_ALL、E_NOTICE、E_STRICT等)
- $php\u errormsg日志记录
- mysqlnd.collect设置(其中2个)
- 禁用Xdebug
然后,我做了一些前后比较。绿色单元格是检查会话配置并确保会话存储设置正确的值。例如,如果您使用的是数据库,请确保可以在快速网络或本地访问该数据库,并且用户具有所有必需的权限。如果会话驻留在文件系统中,请检查可用性和权限。最后,检查php的总体配置;这看起来不像是蛋糕问题 解决方案是更改以下设置:
- PHP错误级别(E_ALL、E_NOTICE、E_STRICT等)
- $php\u errormsg日志记录
- mysqlnd.collect设置(第二个)
- 禁用Xdebug
最后,如果这还不够快,而且这只是一个个人项目(尽管它可能是一个关键的个人项目),那就放弃,继续生活。编辑core.php文件可以解决同样的问题 更改
Configure::write('debug',2)代码>到Configure::write('debug',0)代码>
那是2比0
路径:app/config/core.php
不幸的是,我已经使用默认的CakePHP页面检查了会话存储,数据库在本地运行,CakePHP页面没有显示错误。您对我可以查看的资源有何建议,以了解有关调整php.ini以提高速度的更多信息?我怀疑这是一个调优问题。看起来好像是session\u start
遇到了一种可以解决的情况,但需要一段时间才能解决。您可以设置一个快速的非CakePHP测试页面,只运行session\u start
,以缩小问题范围。如果它持续存在,您知道这是一个PHP问题,您可以开始手动配置PHP会话处理;如果不是,那就是一个CakePHP问题。