首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提高MYSQL在网络上的性能

如何提高MYSQL在网络上的性能
EN

Stack Overflow用户
提问于 2011-08-16 23:46:27
回答 2查看 2.2K关注 0票数 2

我们的数据库服务器与我们的We服务器分开。数据库服务器被复制(我们知道这里存在开销)。然而,即使关闭了复制,PHP脚本中大量查询的性能也比在同一台计算机上具有db和apache的暂存服务器慢4倍。我意识到网络延迟和其他网络问题意味着它们不可能是平等的,但是我们的产品服务器是指数级的,而且我们的生产网络都在千兆位交换机上。我们已经尽最大努力调优MYSQL,但是性能标记仍然慢了4倍。我们正在使用Apache代理和复制MYSQL运行nginx。UCarp也在运行。有什么建议,为领域寻找改善的表现?如果生产进度慢两倍,我会很高兴的。

EN

回答 2

Stack Overflow用户

发布于 2011-08-17 00:24:16

考虑到你的描述,很难做得比暗处刺伤更难,但以下是一些独立尝试的起点,希望这会缩小原因:

将您的暂存DB移动到另一个主机

  • ,将您的暂存主机添加到生产池中,并删除其他的

  • 配置文件--您的PHP脚本,以确保它是导致延迟

  • 的查询,使用单个

服务器,而不是通过您加载的服务器,从MySQL clientH 111运行netperf,在web服务器和数据库之间运行netperf- gbprof

  • Profile -一个接收H 216F 217的查询的MySQL服务器

如果除了远程主机所造成的预期退化之外,没有任何其他原因,那么请提供一个可重复的测试用例和完整的MySQL配置(敏感数据已被编辑)。这将帮助更熟练的MySQL帮助您;)

票数 1
EN

Stack Overflow用户

发布于 2011-11-21 11:48:48

并不是网站上的每个web请求(如果设计得当)都需要mysql连接。最有可能的是,如果您在每个http请求上都需要一个连接,那么您的应用程序将不会扩展,并且会很快出现问题。

  1. 在应用程序中做更多的缓存。服务器请求mysql的次数较少。例如,使用memcache。
  2. 尝试使用从应用程序到mysql服务器的持久连接。
  3. 使用mysql数据
  4. 数据(限制选择,在select语句中使用列名而不是"*“)

萨满调音:

  • 确保在mysql服务器上没有任何东西会减慢网络速度:大型防火墙规则集、网络过滤器等等。
  • 为应用程序添加了另一个(客户端不可访问的)网络接口。服务器和mysql服务器。
  • 调优应用程序之间的网络连接。服务器和mysql。有时,通过创建硬编码的网络路由,您可以赢得几个ms。

不要认为上面的任何一个都会有帮助--如果网络连接缓慢,上面的任何东西都不会显着地加速它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7086467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档