Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
399 views
in Technique[技术] by (71.8m points)

php查询远程数据库很慢怎么办?

  • 我部署了一个typecho博客应用,我的项目和数据库不在一个服务器,每次刷新详情页要2秒左右加载完毕,我把数据库迁移到跟项目一个服务器,刷新详情页只需要200毫秒。
  • 我看了下日志,时间主要浪费在执行sql那,执行的sql大概有20条左右,但数据量并不大,而且服务器A ping 服务器B延迟也很低,为什么速度差别会这么大?有什么办法解决?
  • 已经尝试过在远程数据库配置加入 skip-name-resolve 并没有什么效果

刚刚又仔细看了下日志,总共执行了47条sql。。


刚刚又用python写了个脚本执行那47条sql,在本地执行脚本用时2秒左右,在数据库所在服务器执行用时167毫秒,看来是mysql的问题,跟php没关系


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

一个部署在腾讯云,一个阿里云,说明机器本身就跨机房,而且还可能跨地域,数据延迟是正常的,消耗的时间都在传输过程中,建议都部署在同一个服务器上吧
正常企业会把应用和数据库部署在不同服务器,防止互相干扰,但前提是,应用服务器和数据库服务器是放在同一个机房,应用连接数据库直接走内网,一来是响应速度,二来是如果走外网本身就暴露一个数据库端口3306让人攻击。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...