扛得住双11的Mysql---操作系统
2016-06-20 15:09
405 查看
操作系统因素
CentOS参数优化
Linux性能优化大师内核相关参数
/etc/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 处理tcp连接的等待时间 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 net.ipv4.tcp_keepalive_time=120 net.ipv4.tcp_keepalive_intvl=30 net.ipv4.tcp_keepalive_probes=3 #linux内核参数中最重要的参数之一,用于定义单个共享内存段的最大值 #参数设置的足够大,以便能在一个共享内存段下容纳下整个的Innodb缓冲池的大小 #这个值的大小对于64位linux系统,可取的最大值为物理内存值-1byte,建议值为大于物理内存的一半;一般取值大于Innodb缓冲池的大小即可 kernel.shmmax=4294967295 #内存不足时会对性能产生比较明显的影响 #Linux系统内存交换区 #free -m 中的swap就是交换分区 #mysql使用交换分区的争议: #Mysql完全禁用交换分区---1.降低操作系统的性能;2.容易造成内存溢出,崩溃,或都被操作系统kill掉 #除非虚拟内存满,否则不要使用交换区 vm.swappiness=0
增加资源限制
/etc/security/limit.conf #Linux PAM,插入式认证模块的配置文件 #打开文件数的限制 *soft nofile 65535 *hard nofile 65535 # * 表示对所有用户有效 #soft 当前系统生效的设置 #hard 系统中所能设定的最大值 #nofile 所限制的资源是打开文件的最大数目 #保证可以打开足够多的文件句柄 #重启操作系统生效
磁盘性能优化
/sys/block/devname/queue/scheduler #磁盘调度策略 echo <schedulername> /sys/block/devname/queue/scheduler echo deadline > /sys/block/sda/queue/scheduler
noop(电梯式调度策略),实现了一个FIFO队列,它像电梯的工作方法一样对IO请求进行组织,当有一个新的请求到来时,它将请求合并到最近请求之后,以此来保证请求同一介质.NOOP倾向于饿死读而有利于写,因此NOOP对于闪存,RAM,嵌入式系统是最好的选择
deadline(截止时间调度策略),确保了在一个截止时间内服务请求,这个截止时间是可调整的,而默认读期限短于写期限.这样就防止了写操作因为不能被读取而饿死的现象,Deadline对数据库应用是最好的选择
anticipatory(预料IO调度策略),本质于Deadline一样,但在最后一次读操作后,要等待6ms,才能继续进行对其它IO请求进行调度,它会在每6ms中插入一个新的IO操作,而会将一些小写入流合并成一个大写入流,用写入延迟换取最大的写入吞吐量.AS适合于写入较多的环境,比如文件服务器,AS对数据库环境表现较差
文件系统对性能的影响
window:fat,ntfs(*)linux:ext3,ext4,xfs(*)
ext3/4系统挂载参数
/etc/fstab #日志策略 data=writeback | ordered | journal noatiome,nodiratime /dev/sda1/ext4 noatime,nodiratime,data=writeback 11
相关文章推荐
- mysql数据库主从同步配置教程--数据库同步
- mysql同一台服务器上不同数据库中个别表内容同步
- 转:使用JMeter创建数据库(Mysql)测试
- cursor游标(mysql)
- MySQL学习之——索引(普通索引、唯一索引、全文索引、索引匹配原则、索引命中等)
- mysql导出部分字段数据 及限定条件
- 获取mysql数据表中的列名
- mysql日志详细解析
- MySQL 触发器结构及三个案例demo
- mysql全文检索
- mysql的存储过程与事务入门
- mysql里的批处理(sql语句)、触发器、事务管理、存储过程
- MySQL浮点计算存在的问题与解决方案
- 用批处理对MySQL进行数据操作
- MySQL 主从配置
- mysql 分析查找执行效率慢的SQL语句
- mysql常用语句
- mysql 格式化日期 DATE_FORMAT,FROM_UNIXTIME,UNIX_TIME等
- MySql存储过程学习知识小结
- MySQL 时间戳转换成秒