![两个服务器之间的 php 性能问题](https://linux22.com/image/729967/%E4%B8%A4%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B9%8B%E9%97%B4%E7%9A%84%20php%20%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98.png)
我知道这个问题可能太宽泛了,但我很绝望。
前註:这里我用 CLI 测试 php,但 Apache+PHP 也出现了同样的差异。但为了避免 Apache 缓存和其他问题,我只使用 php cli 进行测试。
我有两台专用的 VM 服务器。
第一正在运行 4GB 内存 32 位 Centos 6.8 PHP 5.3.3
第二个全新安装 8GB 内存 64 位 Centos 7.5 PHP 5.4.16
我有一个用 PHP 编写的测试脚本,可以执行一些基本操作(与数据库或其他服务无关,只是计算等基本操作)
我还通过下载 Codeigniter 并在两者上运行它来测试这两个服务器。如果您知道默认情况下 codeigniter 欢迎页面显示生成欢迎屏幕需要多长时间。
我运行测试脚本的命令来自 SSH 客户端,它只是
[root@domain]php /path/to/my/script.php
问题是旧服务器(我的脚本、codeigniter 欢迎页面、任何脚本)的运行速度总是比新服务器快 60-70%。
我甚至安装了两次第二台服务器以确保没有搞砸,但结果还是一样。新服务器慢了 60-70%。
可能存在什么问题?
编辑
问题似乎出在 APC 上。旧服务器运行的是 APC,而新服务器运行的是 APCu。旧服务器的 APC 正在缓存文件,而新服务器的 APCu 似乎正在运行,但无论我在配置中做了什么,它都不会缓存文件。我在配置中禁用了 APCu,apc.php
监控面板显示 APC 未启用,这证明配置文件没问题,但当我启用 APCu 时,它似乎正在运行,但从不缓存文件。APCu 配置文件是默认的,但它不会缓存。我使用 yum 删除并重新安装了 php-pecl-apcu,但仍然没有缓存。当前版本是 4.0.11-1.el7