【发布时间】: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