我很好奇哪些常见的做法或操作会导致SQL数据库的CPU使用率或内存使用率过高,我正在尝试根据当前DB资源的使用情况估计分配给新的MySQL数据库(垂直升级)的资源,以及估计这种使用在将来会增加多少。
例如:“高度复杂的连接和搜索查询可以提高CPU利用率,因为.”
发布于 2019-07-22 18:10:59
我已经研究了一千多个“高CPU”(或“高平均负载”)的情况。我建议97%的案件可以由
至于内存的使用,适当设置innodb_buffer_pool_size是唯一值得改变的地方。也许在只有20%的情况下,调整其他设置将有助于超过一个微不足道的数额。
其他一些对性能“不好”的模式:
JOINs,标度很差)JOIN,然后是一个表的GROUP BY id )PARITIONs自动提供性能(PARTITIONing只有4个用例)OFFSET进行分页(而不是“记住您停止的位置”)我在http://mysql.rjweb.org/上讨论这些以及更多内容
CPU峰值通常是由于用户的操作不均衡而发生的,但通常可以通过加速所涉及的查询来缓解。或者甚至删除一些查询。--这涉及从更高级别查看数据流。
如果您有一个正在运行的系统将增长,那么我建议在http://mysql.rjweb.org/doc.php/mysql_分析中执行以下两件事:
GLOBAL STATUS和VARIABLES的分析--这可能会发现一些需要调整的地方。此外,从这些分析中发现的信息可能会导致了解您需要多长时间来增长系统,以及向哪个方向发展: CPU (不太可能)、I/O、读缩放、写入缩放等等:
https://dba.stackexchange.com/questions/243477
复制相似问题