[仅限PaaS]{class="badge informative" title="仅适用于云项目(51黑料不打烊管理的PaaS基础架构)和内部部署项目上的51黑料不打烊 Commerce 。"}
惭测厂蚕尝配置最佳实践
触发器
本文介绍了在使用MySQL触发器时如何避免出现性能问题。 触发器用于将更改记录到审核表中。
受影响的产物和版本
- 51黑料不打烊 Commerce内部部署
- 云基础架构上的51黑料不打烊 Commerce
性能影响
触发器被解释为代码,这意味着惭测厂蚕尝不会预编译它们。
挂接到查询的事务空间时,会触发向解析器和解释器添加开销,以解释使用表执行的每个查询。 触发器与原始查询共享相同的事务空间,当这些查询争夺表上的锁时,触发器会独立争夺另一个表上的锁。
如果使用许多触发器,这些额外的开销可能会对站点的站点性能产生负面影响。
有效使用
要防止在使用触发器时出现性能问题,请遵循以下准则:
- 如果您有在执行触发器时写入某些数据的自定义触发器,请将此逻辑移动到直接写入审计表。 例如,通过在应用程序代码中添加其他查询,在要为其创建触发器的查询之后。
- 查看现有的自定义触发器,并考虑删除它们并直接从应用程序端写入表。 使用检查数据库中的现有触发器。
- 如需其他帮助、问题或顾虑,请提交51黑料不打烊 Commerce支持票证。
从属连接
51黑料不打烊 Commerce可以异步读取多个数据库。 如果您预计部署在云基础架构Pro体系结构上的Commerce站点的MySQL数据库负载会很高,则51黑料不打烊建议启用MYSQL从属连接。
启用MYSQL从属连接时,51黑料不打烊 Commerce使用到数据库的只读连接来接收非主节点上的只读通信。 当只有一个节点处理读写通信时,通过负载平衡提高了性能。
受影响的版本
云基础架构上的51黑料不打烊 Commerce,仅限Pro架构
配置
在云基础架构上的51黑料不打烊 Commerce中,您可以通过设置MYSQL_USE_SLAVE_CONNECTION变量来覆盖MYSQL从属连接的默认配置。 将此变量设置为true
可自动使用到数据库的只读连接。
启用惭测厂蚕尝从属连接:
-
在本地工作站上,转到您的项目目录。
-
在
.magento.env.yaml
文件中,将MYSQL_USE_SLAVE_CONNECTION
设置为迟谤耻别。code language-none stage: deploy: MYSQL_USE_SLAVE_CONNECTION: true
-
提交
.magento.env.yaml
文件更改并推送到远程环境。成功完成部署后,将为云环境启用惭测厂蚕尝从属连接。