【问题标题】:Reducing Ruby on Rails traffic to the database减少到数据库的 Ruby on Rails 流量
【发布时间】:2012-03-06 03:17:42
【问题描述】:

网络团队已将我们的 Ruby on Rails 应用程序标记为我们网络上网络流量的主要生产者之一,特别是来自应用服务器和数据库服务器 (mysql) 之间的数据包流量。

减少 Rails 应用程序和数据库之间的流量的推荐最佳做法是什么?持久的数据库连接?

【问题讨论】:

  • 我不了解 Ruby,但要做的第一件事可能是减少查询的数量 - 通过减少查询数量或缓存。如果实际流量是问题,那么持久连接不会有太大帮助

标签: mysql ruby-on-rails performance scalability


【解决方案1】:

这是一个实际问题,还是无论如何他们都在寻找前 3 名的数据库消费者?检查您的日志或让他们向您提供他们认为有问题的查询日志。

除此之外,请检查您是否在做坏事,例如在循环中从视图中调用模型。您的日志应该会告诉您这里发生了什么,如果您在每次渲染时都看到每个部分都与查询配对,这是一个很大的迹象,表明您的逻辑应该被拉回到模型和控制器中。

【讨论】:

    【解决方案2】:

    启动 Wireshark 或其他网络扫描程序并寻找最大的数据包或过于频繁的小数据包 - 以识别特定的、麻烦的查询。

    然后,在考虑缓存之前,请检查该查询是否真的可以缓存,或者它是否只是提取了太多您未使用的数据。

    在这一点上,有太多不同的可能原因 - 每个都有自己的推荐做法。

    【讨论】:

      猜你喜欢
      • 2017-06-01
      • 2018-11-11
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多