微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何加速1800行PHP包括?它将我的页面加载速度降低到10秒/视图

我设计了我的代码,将所有重要的函数放在一个现在1800行的PHP文件中.

我在其他PHP文件调用它 – 例如AJAX处理器 – 使用简单的“require_once(”codeBank.PHP“)”.

我发现加载所有这些函数大约需要10秒钟,即使我只有一些全局数组和一些其他函数.例如,主要的AJAX处理器代码只需要8秒钟来进行简单的语法验证(其操作函数存储在codeBank.PHP中).

当我注释掉require_once时,我的AJAX响应时间从10秒加速到40ms,所以很明显PHP试图用1800行函数做一些事情.即使安装了APC,这也是令人惊讶的.

我应该怎么做才能将我的代码速度恢复到低于100毫秒的水平?我是否未能以某种方式获得缓存的好处?我是否需要将单个功能文件剪切成不同的部分?是否还有其他微妙的事情可以阻止我的响应时间?

或者除此之外,还有哪些工具可以进一步挖掘哪些PHP操作会遇到速度障碍?

==========================

[编辑]已解决.

==========================

正如你们许多人所指出的那样,没有合理的理由说明为什么只有一个1800行的PHP函数库会导致速度减慢.实际发生的是我有一个调试行调用一个较长的API调用函数.每当我包含PHP文件时,我都是从远程查询数据构建一个完整的数据结构.

一旦我杀了那条线,一切都回到了快速的30毫秒响应.对我来说遗憾的是,每次调用AJAX脚本时,require_once()都会打开PHP文件.但是,这就是我的状态,忘记了每次AJAX脚本完成时它都会关闭,并且每次重新打开并重新编译.

解决方法:

您可以拥有一个包含10万行代码文件,但仍然不需要10秒钟才能加载.

可能有一些你没有意识到正在运行的初始化代码.看一下分析器(xdebug或Zend Studio中的分析器),然后在沿着优化路线前确切地找出导致减速的原因.如果您认为这仅仅是因为文件长度为1800行,那么您就走错了路.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐