本博客使用typecho搭建,在部署到远程虚拟主机上之后,每个页面基本都需要3~4秒才能打开。

通过index.php里不断地使用二分法插入die()语句进行测试,最终定位到是连接MySQL数据库查询的时候会阻塞住2秒左右的时间,但MySQL与IIS是在同一台机器上,不应该出现延迟。

经多方查证,localhost这个默认主机名有可能在远程机器上的hosts文件中没有配置,或配置了IPv4与IPv6多条时,优先级设置有问题,这样有可能导致系统使用错误的解析地址进行处理。

开启IPv6的机器有可能会先返回“::1”,在部分场景下有可能导致判定为连接失败,然后才使用“127.0.0.1”地址处理,从而导致页面加载慢。

但经过本地环境搭建与重现,我未能重现这个问题。所以只能先抛出解决方案,其实只有一句话:

使用“127.0.0.1”代替“localhost”即可!

修改之后,问题解决!

标签: none

添加新评论