使用localhost连接本地服务慢的解决方案
本博客使用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”即可!
修改之后,问题解决!