mysql read_buffer_size 设置多少合适
key_buffer_size+(read_buffer_size+sort_buffer_size)*max_connections=458624K
read_buffer_size:是MySQL读入缓冲区大小。对表进行顺序扫描的请求将分配一个读入缓冲区,MySQL会为它分配一段内存缓冲区。read_buffer_size变量控制这一缓冲区的大小。如果对表的顺序扫描请求非常频繁,并且你认为频繁扫描进行得太慢,可以通过增加该变量值以及内存缓冲区大小提高其性能。
如下是对于16g内存的设置
read_buffer_size=1M
个人机器是32G的,一般数据库就用来存储数据,很少用mysql所以我就设置为2M或3M
手机在线更新系统MySQL数据库服务器参数优化mycnf,16G内存8核CPU
业务场景:后台支持手机在线更新系统,db服务器内存16G,8核,dell的pc服务器。
qps:200个左右
tps: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
小了,改成db服务器总内存的60%到80%
innodb_additional_mem_pool_size=20M小了,改成128M
join_buffer_size这个参数为什么没有看到,必须设置值,join_buffer_size=8M必须补上,这个是跟jointable关联的,很重要。