【问题标题】:MySQL performance difference between local and prod with large text column具有大文本列的本地和产品之间的 MySQL 性能差异
【发布时间】:2021-11-24 00:34:08
【问题描述】:

我正试图弄清楚我的开发环境(5 年前的笔记本电脑)和我们的舞台服务器(天蓝色云)之间存在巨大性能差异的原因。有问题的表是处理 XML 的服务的 Web 服务请求日志表。表中的一列是传递给 Web 服务的 XML。

在我的本地计算机上,表中有多少行基本上无关紧要;性能很棒。在部署的服务器上,如果有超过几百行,那么性能开始迅速下降。当该表中有 2000 行时,此表上的“选择计数(*)”将在本地花费 0.0017 秒,但在服务器上接近 20 秒。即使是新行的简单插入也需要大量时间;大约整秒。

我在研究问题explanation of MySQL block performance 时发现了这篇文章。这对我来说很有意义,我很乐意实施 1 对 1 解决方案,但我不想这样做,直到我明白为什么它在本地运行良好并且在服务器上运行良好。

是否有一些 MySQL 设置变量我可以检查以找出差异?我真的很想让我的本地计算机与部署的计算机有相同的性能问题,以便我可以验证修复程序是否有效。

编辑: 创建表查询是相同的。 MySQL 版本为 5.7.23 和 5.7.22。我确实注意到我本地的缓冲区大了 16 倍。将尝试将服务器更新为我本地的设置,看看是否能解决问题。

【问题讨论】:

  • 在两台机器上运行SHOW CREATE TABLE;向我们展示两者并突出差异。另外,说明每台机器上的 MySQL 版本。
  • 另外,比较它们之间的innodb_buffer_pool_size。还有SHOW CREATE TABLE
  • 感谢各位的帮助。我检查了您推荐的设置。似乎缓冲池大小可能就是它。将尝试更新服务器,看看是否可以修复它。

标签: mysql performance innodb


【解决方案1】:

解决方案是按照 Rick 的建议更新缓冲池大小。

【讨论】:

    猜你喜欢
    • 2013-08-07
    • 2021-07-04
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 2018-07-11
    相关资源
    最近更新 更多