Adobe Commerce: MySQL查询卡在“等待认证”状态导致性能问题
MySQL中的 等待认证 状态是支持Adobe Commerce的基于Galera的群集中使用的两阶段提交进程的一部分。 此机制可确保提交事务时数据库中不会出现冲突。 虽然短暂出现此状态是正常的,但持续时间较长表示性能瓶颈。 这些延迟可能是由长时间运行的查询、高度争用或基础架构问题造成的。
要解决此问题,请分析查询速度较慢,管理缓存刷新,实施SWAT建议,并优化数据库统计信息。
描述 description
环境
- 产品: Adobe Commerce
- 数据库群集类型: 基于Galera的MySQL
问题/症状
由于大量MySQL查询卡在 等待认证 状态而导致性能下降。 症状包括:
- 购物车中的产品可见性延迟。
- 查询执行缓慢。
- 大型慢速查询日志文件。
- 缓存刷新与高峰使用时间一致。
解决方法 resolution
要解决此问题:
-
查看MySQL慢查询日志,以识别长时间运行的查询。 如果日志文件的大小增加到数百MB,则表示存在严重问题。 优化任何有问题的查询,以减少瓶颈并提高整体性能。 有关更多详细信息,请参阅Commerce KB文档中的检查慢查询和进程MySQL。
-
在非高峰时段(如深夜或清晨)安排缓存刷新。 这有助于避免在高需求期间增加系统负载,并防止性能下降。 有关更多详细信息,请参阅《Commerce配置指南》中的管理缓存文档。
-
实施SWAT报告中的建议。 这可以包括向表添加缺少的主键和最大限度地减少触发器的使用,这两种方法都可以减少争用并提高认证速度。 在Commerce Tools文档中了解有关全站点分析工具的更多信息。
-
注意: 此操作可能会暂时锁定表。 在工作时间以外运行,并确保禁用cron作业以避免中断。
使用表分析运行
mysqlcheck以确保数据库统计信息是最新的:code language-none mysqlcheck -h<host_name> -u<user_name> -p -a <db_name> -
确保表统计信息为最新。 过时的统计信息可能导致查询执行计划效率低下,进而降低整个群集的性能。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f