下面是我的配置值,我面临的CPU使用率很高。请通知适当的配置值。我的硬件规格: RAM 32 OS;处理器64内核;OS: Linx
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
key_buffer=10G
myisam_sort_buffer_size=128M
sort_buffer_size=32M
innodb_buffer_pool_size=20G
innodb_log_file_size=256M
innodb_log_buffer_size=4M
innodb_file_per_table
innodb_flush_log_at_trx_commit=0
innodb_thread_concurrency=32
innodb_concurrency_tickets=5000
innodb_flush_method=O_DIRECT
innodb_read_io_threads=64
innodb_write_io_threads=64
max_connections=5000
query_cache_size=256M
query_cache_type=1
query_cache_limit=512M
table_cache=1024
join_buffer_size=4M
thread_cache_size=128
tmp_table_size=256M
max_heap_table_size=256MB发布于 2020-03-14 19:31:24
query_cache_size=256M --超过50米,越大意味着速度越慢。放低点。
key_buffer=10G --你用的是ENGINE=MyISAM吗?一般来说,你不应该。如果您正在使用MyISAM,则将其降到2G;如果不使用,则进一步降低到30M。
如果设置得太高,就会耗尽内存;这会导致交换,这是对MySQL的支持。
通常,高CPU (或高平均负载)意味着查询效率低下。查找该查询,然后提供EXPLAIN SELECT ...和SHOW CREATE TABLE。
发布于 2020-03-15 01:04:48
如果不指定表所使用的存储引擎,公告设置就没有意义。
如果您正在使用MyISAM -您几乎肯定不应该使用。
如果您只使用InnoDB,key_buffer_size和myisam_sort_buffer_size只是在浪费您的内存。
糟糕的性能几乎与配置设置有关。它几乎总是关于您正在运行的查询、表结构和索引。这通常是一个复杂的任务,需要一个数据库优化专家。
https://serverfault.com/questions/1006070
复制相似问题