我有运行最新WordPress的nginx web服务器和运行MySQL 5.6的DB服务器,这两台服务器之间大约有90-100ms的延迟(往返延迟)。
问题是,如果我远程访问DB,从web服务器获得响应大约需要5000毫秒。(连接通过SSL加密)
相比之下,如果我在本地访问MySQL(web服务器和MySQL安装在一台机器上),大约需要200毫秒。
1、为什么?是因为WP每页有多个MySQL查询,并等待每个查询完成吗?因此加起来是:100+100+100+100=5000毫秒?
2、能否将WP修改为异步从MySQL请求,以减少请求成功的等待时间?
谢谢。:)
最合适的回答,由SO网友:Tom J Nowell 整理而成
对
90-100ms往返时间+准备SQL语句的时间+执行语句的时间+返回结果的时间乘以您需要查询数据库的次数。
当然,连接可能会保持打开状态,但这本身就是一件昂贵的事情。
考虑到某些设置可以在不到100毫秒的时间内完全响应,更不用说数据库连接了,如果不是在同一台机器上,而是在非常靠近的地方,那么应该考虑将数据库和服务器放在同一个位置。
WordPress的具体帮助包括:
对象缓存数据库查询缓存更少的SQL查询使用瞬态存储昂贵操作的结果您可以使用查询监视器插件等工具查看SQL查询的执行情况和查询速度