【发布时间】:2010-12-25 20:24:26
【问题描述】:
我在 Windows 7 Ultimate 上运行 XAMPP 1.7.1。除了速度之外,一切(Apache 和 MySQL)都运行良好。
当我打开http://localhost/ 时,我必须等待大约 1-3 秒才能查看网页。在我看来,最多应该是几百毫秒。
基本事实:
- 在等待加载 localhost 网页时,状态栏显示“Waiting for localhost...”
- CPU 仍处于空闲状态(加载时没有增加活动)
- 在 localhost 上没有要求苛刻的 PHP 脚本,问题是当有简单的 phpinfo() 时,即使有很长很重的脚本。
- 禁用 MySQL 服务器不会影响速度
- 我的电脑:AMD Turion 64 X2; 1.6 GHz 双核、2 GB RAM、100 GB 硬盘
我制作了一个简单的基准 PHP 脚本来测试 HDD/CSS 速度:
<?php
function getmicrotime() {
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
function testReadWrite() {
$timeStart = getmicrotime();
$filename = "test.txt";
file_put_contents( $filename, '' ); // prepare empty file
for ( $i = 0; $i < 1000; $i++ ) {
$a = file_get_contents( $filename );
file_put_contents( $filename, $a . '.' );
}
return round( getmicrotime() - $timeStart, 3 );
}
function testCpuSpeed() {
$timeStart = getmicrotime();
$var = '';
for ( $i = 0; $i < 100000; $i++ ) {
$var = sha1( md5( $i * $i * $i * $i * $i * $i * $i * $i * $i * $i ) );
}
return round( getmicrotime() - $timeStart, 3 );
}
echo "Read/write #1: " . testReadWrite() . "<BR>";
echo "Read/write #2: " . testReadWrite() . "<BR>";
echo "Read/write #3: " . testReadWrite() . "<BR>";
echo "CPU speed #1: " . testCpuSpeed() . "<BR>";
echo "CPU speed #2: " . testCpuSpeed() . "<BR>";
echo "CPU speed #3: " . testCpuSpeed() . "<BR>";
?>
我的电脑结果:
- 读/写:5.134 / 3.431 / 3.494
- CPU 速度:0.816 / 0.767 / 0.795
一个虚拟主机结果:
- 读/写:7.768 / 7.69 / 7.371
- CPU 速度:0.232 / 0.234 / 0.234
我的服务器的一个结果(与我的 PC 几乎一样的空闲计算机,但快一点):
- 读/写:0.088 / 0.168 / 0.185
- CPU 速度:0.191 / 0.189 / 0.189
所以我不认为这是因为我的 PC 速度,但我确信还有其他问题。 您对 Windows 7(或 Vista)上的 XAMPP 速度有一些经验吗?
谢谢。
【问题讨论】:
-
我知道这有点矫枉过正,但如果你无法弄清楚 任何事情,请尝试切换到 WAMP,对我来说在 Windows 7 上完美运行。
-
谢谢!它解决了我的问题 :) 现在我要将所有虚拟主机从 XAMPP 移动到 WAMP。
-
我也有这个问题,也发现是McAfee的原因。我正在使用 CodeIgniter 框架,而 McAfee 在 CI 写入日志文件时引入了延迟。我关闭了 McAfee,PHP 应用程序恢复了以前的速度。根据 BitDefender 示例,我没有看到忽略特定程序的选项...
-
以管理员身份运行 XAMPP 对我有用