偶尔看到 OpenLiteSpeed,说得挺神,正好手头有台空闲的阿里云服务器,拿来测试一下。
由于时间有限,没有进行多么严格的测试,仅仅是测试了一段代码的运行,测试代码如下:
<?php
function msec()
{
list($sec,$msec) = explode(' ', microtime());
return (floatval($sec) + floatval($msec)) ;
}
$s_time = msec();
function fib($n) {
if ($n == 1 || $n == 2) {
return 1;
}
return fib($n - 1) + fib($n - 2);
}
echo fib(40);
$e_time = msec();
echo '<br>';
echo $e_time - $s_time;
运行环境为阿里云 2 核 4G,php7.4 编译安装
OpenLiteSpeed 运行时间为 5.9587769508362 秒,测试三次,基本差不多,打开 php 的 opcache 扩展后测试,6.1656510353088 秒,测试多次,仍然如此,非常奇怪,也就是说 opcache 扩展对 OpenLiteSpeed 不但没用处,反倒略微拖累速度(当然,也可能是误差),那怀疑 OpenLiteSpeed 有类似 opcache 的功能。
Nginx 1.18.0 编译安装 运行时间为 19.752794027328 秒,取得三次运行的平均时间,打开 opcache 扩展后测试 13.836124897003 秒,测试三次,基本差不多,说明对于 nginx,opcache 确实有比较大的速度提升。
apache 2.4 编译安装,运行时间为 19.545067071915 ,测试三次,基本差不多,打开 php 的 opcache 扩展后测试,13.464881038666 秒,测试三次,相差不大,跟 Nginx 的测试结果差不多。
环境 | 正常 | php opcache | 横向对比 | 纵向对比 |
OpenLiteSpeed | 5.9587769508362 | 6.1656510353088 | 1.035 | 1 |
Nginx 1.18.0 编译 | 19.752794027328 | 13.836124897003 | 0.704 | 2.322 |
apache 2.4 编译 | 19.545067071915 | 13.464881038666 | 0.699 | 2.26 |
Nginx 和 apache 下 php7.4 的性能是差不多的,打开 opcache 对性能约有 40% 左右的提升。
OpenLiteSpeed 下 php 的性能确实高了非常多,比 Nginx 和 apache 打开 opcache 下的性能还要高 2.3 倍左右,这种提升确实值得追随了,回头测试一段时间稳定性,可以考虑把网站全部转到 OpenLiteSpeed 下了,对于有一定计算性能要求的网站可以省大量的服务器费了。
另外,OpenLiteSpeed 下不需要开启 opcache 了,也不会有 opcache 的缓存问题,调试代码时方便了很多。