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

如何加速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行,那么您就走错了路.

标签:php,ajax,require-once
来源: https://codeday.me/bug/20190526/1158983.html