性能相关问题

最近更新时间:2019-08-13 16:52:55

云数据库 MySQL 执行任务时,为什么会卡死?

是并发操作导致的锁等待,属于正常现象。

为什么查看云数据库 MySQL 中的中文数据时出现乱码?

您将数据存储到云数据库中时,请登录 MySQL 控制台 进入实例详情页查看该实例的默认字符集。在编写程序时,将 character_set_clientcharacter_set_resultscharacter_set_connection 设置为和云数据库实例相同的字符集。否则,如果存储的数据中有中文,会出现中文数据乱码现象。
例如:云数据库实例的默认字符集为 utf8,在编写程序连接数据库时,需要先执行以下语句,再将中文数据存储到云数据库。

SET NAMES 'utf8';

云数据库 MySQL 连接数占用满了的常见原因和解决方法?

  • sleep 线程数很多,建议在控制台调低 wait_timeout 和 interactive_timeout 参数值。
  • 慢查询堆积,long_query_time 参数值默认10s,建议调成1s - 2s,观察慢查询日志。
  • sleep 线程数很少,也没有慢查询堆积,建议在控制台调大 max_connections 参数值。

云数据库 MySQL CPU 占比过高的常见原因和解决方法?

  • 慢查询堆积,请查看实例监控上的慢查询和全表扫描,结合慢查询日志(控制台可下载)进行分析优化,若监控上没有慢查询只有全表扫描,建议在控制台将 long_query_time 调小至1s - 2s,使用一段时间后再分析慢查询。
  • 没有慢查询堆积,请查看实例监控上的内存占用,若超出实例规格很多,并且磁盘读写量明显增大,表明内存遇到瓶颈,建议升级内存。