欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql read_buffer_size 设置多少合适

程序员文章站 2024-02-21 13:37:10
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 458624 k re...

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

业务场景:后台支持手机在线更新系统,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 必须补上,这个是跟join table 关联的,很重要。