首先介绍一下各参数作用:
参数名称 | 参数作用 |
---|---|
key_buffer_size | 单位为MB,用于索引的缓冲区大小 |
query_cache_size | 单位为MB,查询缓存,不开启请设为0 |
tmp_table_size | 单位为MB,临时表缓存的大小 |
innodb_buffer_pool_size | 单位为MB,Innodb缓冲区大小 |
innodb_log_buffer_size | 单位为MB,Innodb日志缓冲区大小 |
sort_buffer_size | KB乘以连接数,每个线程排序的缓冲的大小 |
read_buffer_size | KB乘以连接数,读入缓冲区的大小 |
read_rnd_buffer_size | KB乘以连接数,随机读取缓冲区的大小 |
join_buffer_size | KB乘以连接数,关联表缓存的大小 |
thread_stack | KB乘以连接数,每个线程的堆栈的大小 |
binlog_cache_size | KB乘以连接数,二进制日志缓存的大小(4096的倍数) |
thread_cache_size | 线程池的大小 |
table_open_cache | 表的缓存(最大别超过2048) |
max_connections | 最大的连接数 |
然后介绍一下不同内存的推荐阈值:
优化方案 | 1-2GB | 2-4GB | 4-8GB | 8-16GB | 16-32GB |
---|---|---|---|---|---|
key_buffer_size | 128 | 268 | 384 | 512 | 1024 |
query_cache_size | 0 | 0 | 0 | 0 | 0 |
tmp_table_size | 64 | 384 | 512 | 1024 | 2048 |
innodb_buffer_pool_size | 256 | 384 | 512 | 1024 | 4096 |
innodb_log_buffer_size | 8 | 8 | 8 | 8 | 8 |
sort_buffer_size | 768 | 768 | 1024 | 2048 | 4096 |
read_buffer_size | 768 | 768 | 1024 | 2048 | 4096 |
read_rnd_buffer_size | 512 | 512 | 768 | 1024 | 2048 |
join_buffer_size | 1024 | 2048 | 2048 | 4096 | 8192 |
thread_stack | 256 | 256 | 256 | 384 | 512 |
binlog_cache_size | 64 | 64 | 128 | 192 | 256 |
thread_cache_size | 64 | 96 | 128 | 192 | 256 |
table_open_cache | 128 | 192 | 384 | 1024 | 2048 |
max_connections | 100 | 200 | 300 | 400 | 500 |
最后虾咪提醒一下:query_cache_size为查询缓存,我习惯不启用,毕竟wordpress的查询语句实在惨不忍睹,这个对wordpress用户来说几乎无用。如果想开启也可以,这个没有范围,只要内存够用开多大都可行!