多少MySQLread_buffer_size设置是否合适

key_buffer_size +(read_buffer_size + sort_buffer_size)* max_connections = 458624 K



read_buffer_size:它是MySQL的大小读入缓冲区,顺序表的扫描请求将分配一个读入缓冲,MySQL会为它分配一个内存缓冲区,read_buffer_size变量控制这个缓冲区的大小。如果顺序扫描请求表频繁,你认为这种频繁的扫描速度太慢,你可以通过增加变量的值和内存缓冲区的大小增加的性能。

以下是16G内存的设置

read_buffer_size = 1m

个人机32G,和一般的数据库是用来存储数据的,所以它是在MySQL中很少使用的所以我将它设置为2m或3m

手机在线更新系统的MySQL数据库服务器的参数优化mycnf,16G内存的8核CPU



业务场景:后台支持手机在线更新系统,数据库服务器内存16G,8核心,戴尔PC服务器。



关于QPS:200

一分钟1分,一分钟50分钟。



sort_buffer_size = 32M算是大的,8m可以

read_buffer_size = 32M算是大的,8m可以

read_rnd_buffer_size = 16M大,8m可以

table_open_cache = 512

它很小,建议改为2048。



max_allowed_packet = 5m

它很小。建议改为16M



tmp_table_size = 64m

它很小。建议改成2G。



innodb_buffer_pool_size = 3000m

小,改为60%到80%的DB服务器的总内存



innodb_additional_mem_pool_size = 20m小,变化至128M



为什么join_buffer_size没有看到这个参数我们必须设定价值。join_buffer_size = 8m必须加。这与联接表相关。这是非常重要的。