mysql之 CentOS系统针对mysql参数优化
内核相关参数(/etc/sysctl.conf)
以下参数可以直接放到sysctl.conf文件的末尾:
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
加快TCP连接的回收:
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
TCP连接接收和发送缓冲区大小的默认值和最大值:
net.core.wmem_default = 87380
net.core.wmem_max = 16777216
net.core.rmem_default = 87380
net.core.rmem_max = 16777216
减少失效连接所占用的TCP资源的数量,加快资源回收的效率
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
kernel.shmmax = 4294967295
Linux内核参数中最重要的参数之一,用于定义单个共享内存段的最大值。
注意:
1. 这个参数应该设置的足够大,以便能在一个共享内存段下容纳整个的Innodb
缓冲池的大小
2. 这个值的大小对于64位linux系统,可取的最大值为物理内存值-1byte,建议
值为大于物理内存的一半,一般取值大于Innodb缓冲池的大小即可,可以取物理内存-1byte
vm.swappiness = 0
这个参数当内存不足时会对性能产生比较明显的影响。
Linux系统内存交换区:
在Linux系统安装时都会有一个特殊的磁盘分区,称之为系统交换分区。
使用free-m命令可以看到swap就是内存交换区.
作用:
当操作系统因为没有足够的内存时就会将一些虚拟内存写到磁盘的交换区中
这样就会发生内存交换。
在MySQL服务器上是否要使用交换分区有一些争议:
在MySQL服务所在的Linux系统上完全禁用交换分区。
带来的风险:
1. 降低操作系统的性能
2. 容易造成内存溢出,崩溃,或都被操作系统kill掉
结论:
在MySQL服务器上保留交换区还是很必要的,但是要控制何时使用交换分区。
Vm.swappiness = 0
就是告诉Linux内核除非虚拟内存完全满了,否则不要使用交换区。
增加资源限制(/etc/security/limit.conf)
这个文件实际上是Linux PAM也就是插入式认证模块的配置文件。
打开文件数的限制:
soft nofile 65535
hard nofile 65535
* 表示对所有用户有效
soft 指的是当前系统生效的设置
hard 表明系统中所能设定的最大值
nofile 表示所限制的资源是打开文件的最大数目
65535 限制的数量
soft不能大于hard
直接加到limit.conf文件的末尾就可以了。
结论:把可打开的文件数量增加到65535个以保证可以打开足够多的文件句柄。
注意:这个文件的修改需要重启系统才能生效。
磁盘调度策略(/sys/block/devname/queue/scheduler)
cat /sys/block/devname/queue/scheduler
调度策略: noop anticipatory deadline [cfg]
noop(电梯式调度策略)
NOOP实现了一个FIFO队列,它像电梯的工作方法一样对I/O请求进行组织,当有一个新
的请求到来时,它将请求合并到最近的请求之后,以此来保证请求同一介质。NOOP倾向饿死读而
利于写,因此NOOP对于闪存设备、RAM及嵌入式系统是最好的选择。
deadline(截止时间调度策略)
deadline确保了在一个截止时间内服务请求,这个截止时间是可调整的,而默认读期限
短于写期限。这样就防止了写操作因为不能被读取而饿死的现象,deadline对数据库类应用是最
好的选择。
anticipatory(预料I/O调度策略)
本质上与deadline一样,但在最后一次读操作之后,要等待6ms,才能继续进行对其它I/O
请求进行调度。它会在每个6ms中插入新的I/O操作,而会将一些小写入流合并成一个大写入流,用
写入延时换区最大的写入吞吐量。AS适合于写入较多的环境,比如文件服务器,AS对数据库环境表
现很差。
修改调度策略:
echo <schedulername> > /sys/block/devname/queue/scheduler
如 echo deadline /sys/block/devname/queue/scheduler
mysql之 CentOS系统针对mysql参数优化的更多相关文章
- CentOS系统操作mysql的常用命令
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了 ...
- Linux(Centos )的网络内核参数优化来提高服务器并发处理能力【转】
简介 提高服务器性能有很多方法,比如划分图片服务器,主从数据库服务器,和网站服务器在服务器.但是硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题 ...
- mysql配置my.cnf文件,以及参数优化提升性能
系统centos7 mariadb通过yum安装 mysql配置文件位于/etc/my.cnf 常用参数: 1)max_connections设置最大连接(用户)数,其默认值为100,设置太小会出现t ...
- CentOS系统 Amoeba+MySql主从读写分离配置 适合新手傻瓜式教程!-----仅供参考!
废话不说,直接开始: 一.安装mysql的三种方式,这里采用第2种(安装方式不再详解,请参照) http://www.cnblogs.com/babywaa/articles/4837946.html ...
- Mac os安装MySQL数据库,系统提示mysql: command not found该怎么办
当我们安装好MySQL后,在终端输入mysql命令,发现并不能看到自己安装的数据库,这是因为你没有配置环境变量. 在os系统中安装MySQL数据库默认保存在/usr/local/mysql 那么我们应 ...
- CentOS系统下Tomcat的优化
一.JVM内存优化(线程优化) vim ./bin/catalina.sh 在catalina.sh文件中添加以下配置: JAVA_OPTS="-server -Xms128m -Xmx12 ...
- mysql innodb存储引擎和一些参数优化
mysql 的innodb存储引擎是事务性引擎,支持acid.innodb支持版本控制和高并发的技术是svcc:需要重点注意:myisam只缓存索引,innodb缓存索引和数据:
- 高并发情况下Linux系统及kernel参数优化
众所周知在默认参数情况下Linux对高并发支持并不好,主要受限于单进程最大打开文件数限制.内核TCP参数方面和IO事件分配机制等.下面就从几方面来调整使Linux系统能够支持高并发环境. Iptabl ...
- CentOS下内核TCP参数优化配置详解
主动关闭的一方在发送最后一个ACK后就会进入TIME_WAIT状态,并停留2MSL(Max Segment LifeTime)时间,这个是TCP/IP必不可少的. TCP/IP的设计者如此设计,主要原 ...
随机推荐
- oracle概要文件profile详解
一.目的: Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该prof ...
- day 41 mysql 函数 事物
mysql 函数 事务 mysql 中提供了许多内置函数 CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符. 对于一个包含五个二字节字 ...
- VB识别分隔符
strTypeEx = ReadIniFile("Type", "Type", App.Path & "\set.ini") str ...
- eclipse逆向生成hibernate的实体类(注解和配置文件)
eclipse从数据库逆向生成Hibernate实体类(注解和配置文件) 分类: hibernate 数据库 java 2011-10-22 21:28 2915人阅读 评论(8) 收藏 举报 做项目 ...
- JsonWebToken
概述 如果各位不了解 JWT,不要紧张,它并不可怕. JSON Web Token(JWT)是一个非常轻巧的规范.这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息. 让我们来假想一下一个 ...
- Gym - 101981M:(南京) Mediocre String Problem(回文树+exkmp)
#include<bits/stdc++.h> #define ll long long #define rep(i,a,b) for(int i=a;i<=b;i++) using ...
- 最长公共子序列与最长公共字串 (dp)转载http://blog.csdn.net/u012102306/article/details/53184446
1. 问题描述 子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串 cnblogs belong 比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与 ...
- day 0150面向对象-成员
一 类的成员 在类中定义的变量和方法都被称为成员 class Person: def __init__(self, name, num, gender, birthday): # 成员变量(实例变量) ...
- npm常规命令行集合
最近在摸索vue-cli脚手架的安装,中间用到了一些node的npm命令行,进行了一些整理,并且这个会一直搜集整理更新! 1,常规文件操作命令 cd.. 返回当前文 ...
- 欧拉函数 已经优化到o(n)
欧拉函数 ψ(x)=x*(1-1/pi) pi为x的质数因子 特殊性质(图片内容就是图片后面的文字) 欧拉函数是积性函数——若m,n互质, ψ(m*n)=ψ(m)*ψ(n): 当n为奇数时, ψ ...