我设计了我的代码,将所有重要的函数放在一个现在有 1800 行长的 PHP 文件中。
我在其他 PHP 文件(例如 AJAX 处理器)中使用简单的“require_once("codeBank.php")”来调用它。
我发现加载所有这些函数大约需要 10 秒,即使我只有几个全局数组和一堆其他函数。例如,主要的 AJAX 处理器代码需要 8 秒来进行简单的语法验证(其操作函数存储在 codeBank.php 中)。
当我注释掉 require_once 时,我的 AJAX 响应时间从 10 秒加速到 40 毫秒,所以很明显 PHP 正在尝试对这 1800 行函数做一些事情。即使安装了 APC,这也是令人惊讶的。
我应该怎么做才能让我的代码速度回到低于 100 毫秒的水平?我是否无法以某种方式获得缓存的好处?我是否需要将单个功能库文件切割成不同的部分?我还可以做其他一些微妙的事情来缩短我的响应时间吗?
或者除此之外,还有哪些工具可以进一步挖掘哪些 PHP 操作遇到了减速带?
===========================
[编辑] 已解决。
===========================
正如你们中的许多好心人所指出的那样,仅仅拥有一个 1800 行的 php 函数库会导致速度变慢,这没有任何合乎逻辑的理由。实际发生的情况是,我有一个调试行正在调用其中一个较长的 API 调用函数。每当我包含 PHP 文件时,我都是从远程查询数据构建一个完整的数据结构。
一旦我杀了那条线,一切都回到了快速的 30 毫秒响应。让我感到奇怪的是,每次调用 AJAX 脚本时,require_once() 都会打开 php 文件。但那是我走样了,忘记了每次 AJAX 脚本完成时它都会关闭并且每次都重新打开和重新编译。