在本地电脑上搭建过WordPress环境的站长应该有过这样的体验,明明在服务器上响应很快的网站在本地怎么就那么慢呢?看完这篇刚写的localhost与127.0.0.1对WordPress数据库连接速度的影响,本地搭建的环境速度也很快!
要知道,动态网站中,数据库的响应速度决定了前端的用户体验,也就是说数据库响应时间越长,浏览器中的TTFB时间就越长,打开网页的时间也越长。提高数据库响应速度也是网站优化中必不可少的步骤,常见的办法是使用MySQL高速缓存启动query cache的方法来减少查询次数,并将查询结果存在内存中,以便下次使用。
为了直观的看到PHP连接数据库消耗的时间,我写了个PHP文件,运行这个文件将会显示具体耗时,内容如下:
<?php
//计时开始 runtime();
//执行查询 connectmysql();
//计时结束. echo runtime(1);
//计时函数
function runtime($mode=0) {
static $t;
if(!$mode) {
$t = microtime();
return;
}
$t1 = microtime();
list($m0,$s0) = explode(" ",$t);
list($m1,$s1) = explode(" ",$t1);
return sprintf("%.3f ms",($s1+$m1-$s0-$m0)*1000);
}
//连接数据库
function connectmysql(){
$servername="localhost"; //数据库地址,测试127.0.0.1与localhost的区别
$sqluser="数据库账号";
$sqlpass="数据库密码";
$conn=@mysqli_connect($servername,$sqluser,$sqlpass);
return $conn;
}
?>测试结果
localhost连接方式耗时:1001.000 ms
127.0.0.1连接方式耗时:1ms
访问WordPress网站首页耗时测试
localhost连接方式耗时:
127.0.0.1连接方式耗时:
我以为能大幅提升网站的响应速度,其实不然,同样的代码在Linux环境中的响应速度并没有Windows的区别明显。实测,代码狗博客的连接耗时0.3ms左右,首页ttfb耗时300-400ms左右,也就是说WordPress的作业机制消耗300多毫秒。
从上面的数据来看,在本地情况下,mysql的连接速度几乎等于TTFB时间。如果你在Windows本地电脑上使用的话,改成127.0.0.1将会体验到飞一般的感觉!
总结
在Linux环境中,localhost与127.0.0.1对数据库的影响几乎没有区别,但是据网友所说127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。也有网友说两者都不经过网卡,我比较信任第二种。localhost不受限制,在消耗网络资源的服务器中,使用localhost更加恰当!
在本地环境中,建议使用127.0.0.1的方式连接数据库,可以大幅度提升速度,本地体验极佳!







评论 (0)