PolarDB卡这里了,怎么解决?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB卡住的问题可能由多种原因引起,例如重启时间过长、事务回滚、查询性能问题或资源瓶颈等。以下是针对不同场景的详细解决方案,请根据实际情况选择适合的操作步骤:
如果PolarDB实例在重启过程中长时间处于“重启中”状态,可能是由于大事务或事务较多导致的回滚和重做操作耗时较长。
如果控制台显示的任务进度(如库表恢复)卡住,这并不一定表示系统故障,而是某些步骤本身耗时较长。
如果大量线程阻塞在等待数据库返回结果,说明可能存在数据库层面的性能瓶颈。
KILL所有语句:
KILL "ALL"
重启应用:
SQL限流:
SHOW FULL PROCESSLIST
命令找到占比高的SQL模板ID。CREATE CCL_RULE IF NOT EXISTS `test` ON *.* TO 'ccltest'@'%'
FOR SELECT
FILTER BY TEMPLATE('9037e5e2')
WITH MAX_CONCURRENCY=10;
重启数据库:
如果查询过程中出现以下错误,可能是由于数据量过大导致临时表落盘异常: - PXC-8008 ERR\EXECUTE\SPILL:数据落盘过程中出现异常。 - PXC-8011 ERR\OUT\OF\SPILL\SPACE:临时表文件过多,超出磁盘空间限制。 - PXC-8012 ERR\OUT\OF\SPILL\FD:临时表文件过多,超出文件句柄限制。
如果使用并行查询时出现性能问题或卡住,可能是由于并行度设置不当或集群规格不匹配。
GROUP BY
或ORDER BY
查询,建议开启多机并行查询以提升性能。ALTER TABLE orders SPLIT INTO H88_ PARTITIONS 2 BY HOT VALUE(88);
希望以上信息能帮助您快速定位并解决问题!
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about