mysql主机系统参数优化和资源限制设置

mysql主机系统参数优化和资源限制设置

一、mysql主机系统参数优化

#!/bin/bash
#optimization of mysql host system parameter
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "fs.file-max = 65536" >> /etc/sysctl.conf
echo "net.core.netdev_max_backlog = 32768" >> /etc/sysctl.conf
echo "net.core.rmem_default = 8388608" >> /etc/sysctl.conf
echo "net.core.rmem_max = 16777216" >> /etc/sysctl.conf
echo "net.core.somaxconn = 32768" >> /etc/sysctl.conf
echo "net.core.wmem_default = 8388608" >> /etc/sysctl.conf
echo "net.core.wmem_max = 212992" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 10000 65000" >> /etc/sysctl.conf
echo "net.ipv4.tcp_fin_timeout = 30" >> /etc/sysctl.conf
echo "net.ipv4.tcp_keepalive_intvl = 15" >> /etc/sysctl.conf
echo "net.ipv4.tcp_keepalive_probes = 3" >> /etc/sysctl.conf
echo "net.ipv4.tcp_keepalive_time = 1200" >> /etc/sysctl.conf
echo "net.ipv4.tcp_max_orphans = 3276800" >> /etc/sysctl.conf
echo "net.ipv4.tcp_max_syn_backlog = 65536" >> /etc/sysctl.conf
echo "net.ipv4.tcp_max_tw_buckets = 6000" >> /etc/sysctl.conf
echo "net.ipv4.tcp_mem = 94500000 91500000 92700000" >> /etc/sysctl.conf
echo "net.ipv4.tcp_retries2 = 5" >> /etc/sysctl.conf
echo "net.ipv4.tcp_rmem = 32768 436600 873200" >> /etc/sysctl.conf
echo "net.ipv4.tcp_syn_retries = 2" >> /etc/sysctl.conf
echo "net.ipv4.tcp_synack_retries = 2" >> /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf
echo "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.conf
echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf
echo "net.ipv4.tcp_wmem = 8192 436600 873200" >> /etc/sysctl.conf
echo "vm.dirty_background_ratio = 50" >> /etc/sysctl.conf
echo "vm.dirty_ratio = 50" >> /etc/sysctl.conf
echo "vm.dirty_writeback_centisecs = 360000" >> /etc/sysctl.conf
echo "vm.drop_caches = 1" >> /etc/sysctl.conf
echo "vm.max_map_count = 655360" >> /etc/sysctl.conf
echo "vm.min_free_kbytes = 4096000" >> /etc/sysctl.conf
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
echo "vm.swappiness = 5" >> /etc/sysctl.conf

sysctl –p

参数de详细解释

信号量参数配置

参数默认值建议值解释
kernel.sem250 32000 32 128250 32000 32 128#用于控制内核信号量:SEMMAL 信号集容纳最大信号数量;SEMMNS 所有信号的最大数量;SEMOPM 调用单个信号集中最大信号数量;SEMMNI 信号集的最大值 默认值:kernel.sem 250 32000 32 128

文件系统参数配置

参数默认值建议值解释
fs.file-max409665536#可以分配的文件句柄的最大数目 默认值:4096

网络套接字参数配置

参数默认值建议值解释
net.core.netdev_max_backlog100032768#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目 默认值1000
net.core.rmem_default2129928388608#套接字接收缓冲区大小的缺省值(以字节为单位) 默认值212992
net.core.rmem_max3276816777216#套接字接收缓冲区大小的最大值(以字节为单位) 默认值212992
net.core.somaxconn12832768#用来限制监听(LISTEN)队列最大数据包的数量,超过这个数量就会导致链接超时或者触发重传机制 默认值128
net.core.wmem_default2129928388608#套接字发送缓冲区大小的缺省值(以字节为单位) 默认值212992
net.core.wmem_max21299216777216#套接字发送缓冲区大小的最大值(以字节为单位) 默认值212992

网络连接 TCP 参数配置

参数默认值建议值解释
net.ipv4.ip_local_port_range32768 6100010000 65000#用于向外连接的端口范围 默认值 32768 61000
net.ipv4.tcp_fin_timeout6030#对于本端断开的 socket 连接,TCP保持在 FIN-WAIT-2 状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡 ,默认值60
net.ipv4.tcp_keepalive_intvl7515#发送TCP探测的频率,乘以tcp_keepalive_probes 表示断开没有相应的 TCP 连接的时间 默认值 75
net.ipv4.tcp_keepalive_probes93#丢弃 TCP 连接前,进行最大 TCP保持连接侦测的次数。保持连接仅在 SO_KEEPALIVE 套接字选项被打开时才被发送 默认值9
net.ipv4.tcp_keepalive_time72001200#当 keepalive 起用的时候,TCP发送 keepalive 消息的频度。缺省是2小时,改为20分钟 默认值 7200
net.ipv4.tcp_max_orphans81923276800#系统所能处理不属于任何进程的TCP sockets 最大数量。假如超过这个数量﹐那么不属于任何进程的连接会被立即 reset,并同时显示警告信息 默认值8192
net.ipv4.tcp_max_syn_backlog102465536#表示那些尚未收到客户端确认信息的连接(SYN 消息)队列的长度,默认为 1024,加大队列长度,可以容纳更多等待连接的网络连接数
net.ipv4.tcp_max_tw_buckets6000#系统在同时所处理的最大timewait sockets 数目。如果超过此数的话﹐time-wait socket会被立即砍除并且显示警告信息
net.ipv4.tcp_mem94500000 91500000 92700000#low:当TCP使用了低于该值的内存页面数时,TCP不会考虑释放内存。即低于此值没有内存压力。pressure:当TCP使用了超过该值的内存页面数量时,TCP 试图稳定其内存使用,进入 pressure 模式,当内存消耗低于 low 值时则退出 pressure 状态。high:允许所有 tcp sockets 用于排队缓冲数据报的页面量。一般情况下这些值是在系统启动时根据系统内存数量计算得到
net.ipv4.tcp_retries2155#在丢弃激活(已建立通讯状况)的TCP 连接之前﹐需要进行多少次重试 默认值 15
net.ipv4.tcp_rmem4096 87380 629145632768 436600 873200#接收缓存设置min:为 TCP socket 预留用于接收缓冲的内存最小值。每个 tcp socket 都可以在建议以后都可以使用它;default:为 TCP socket 预留用于接收缓冲的内存数量,默认情况下该值会影响其它协议使用的net.core.rmem_default 值,一般要低于 net.core.rmem_default的值;max: 用于 TCP socket 接收缓冲的内存最大值。该值不会影响net.core.rmem_max,"静态"选择参数 SO_SNDBUF 则不受该值影响 默认值4096 87380 6291456
net.ipv4.tcp_syn_retries62#对于一个新建连接,内核要发送多少个SYN连接请求才决定放弃 默认值6
net.ipv4.tcp_synack_retries52#对于远端的连接请求 SYN,内核会发送SYN+ACK数据报,以确认收到上一个SYN连接请求包。这是所谓的三次握手 ( threeway handshake)机制的第二个步骤。这里决定内核在放弃连接之前所送出的 SYN+ACK 数目 默认值5
net.ipv4.tcp_syncookies01#当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击 默认值-0
net.ipv4.tcp_tw_recycle01#TIME-WAIT sockets快速回收开关。0关闭,1打开 默认值0
net.ipv4.tcp_tw_reuse01#表示是否允许重新应用处于TIME-WAIT状态的socket用于新的TCP连接,0不允许,1允许 默认值0
net.ipv4.tcp_wmem4096 16384 41943048192 436600 873200#发送缓存设置min:为 TCP socket 预留用于发送缓冲的内存最小值。每个 tcpsocket 都可以在建议以后都可以使用它;default:为 TCP socket 预留用于发送缓冲的内存数量,默认情况下该值会影响其它协议使用的net.core.wmem_default 值,一般要低于 net.core.wmem_default的值;max: 用于 TCP socket 发送缓冲的内存最大值。该值不会影响net.core.wmem_max,"静态"选择参数 SO_SNDBUF 则不受该值影响 默认值4096 16384 4194304

内存参数配置

参数默认值建议值解释
vm.dirty_background_ratio650#脏数据到达系统整体内存的百分比,此时触发 pdflush 进程把脏数据写回磁盘 默认值6
vm.dirty_ratio3050#如果进程产生的脏数据到达系统整体内存的百分比,此时进程自行把脏数据写回磁盘 默认值30
vm.dirty_writeback_centisecs500360000#pdflush 进程周期性间隔多久把脏数据写回磁盘 默认值500
vm.drop_caches01#释放 page cache,dentries 和 inodes缓存所占的内存 0不释放 1只释放pagecache 2只释放dentries和inodes缓存 3释放pagecache、dentries 和inodes 缓存 默认值0
vm.max_map_count65536655360#进程中内存映射区域的最大数量 默认值65536
vm.min_free_kbytes450564096000#强制 Linux VM 最低保留多少空闲内存(Kbytes) 默认值45056
vm.overcommit_memory01#内核针对内存分配的策略,其值可以是 0、1、2。0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。2,表示内核允许分配超过所有物理内存和交换空间总和的内存(参照 overcommit_ratio) 默认值0
vm.swappiness305#让操作系统尽可能的使用物理内存,降低系统对swap的使用,从而提高系统的性能 默认值30

二、资源限制配置

vim /etc/security/limits.conf
iddbs soft 	nofile 65535	
iddbs hard	nofile 65535	
iddbs soft 	core 1024000	
iddbs hard	core 1024000	
iddbs hard	nproc 65535	
iddbs soft	 nproc 65535	
iddbs hard	stack unlimited
iddbs soft	 stack unlimited

详细解释

nofile	65535	
#open files:用户打开最大文件数的限制,组件运行需要该参数 默认1024
core	1024000
#core 文件上限  默认 1024
nproc	65535
#max user processes:Linux 对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数。nproc设	置/etc/security/limits.d/*-nproc.conf 文件和kernel.pid_max 参数有关  默认1024
stack	unlimited
#stack size:最大栈大小  默认10240
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值