标签:mysql、性能、调优
innodb_buffer_pool_size 80%(系统缓存池)
innodb_log_file_size 4G (mysql5.5中限定的最大数值,redo日志增大提高性能,redo日志小崩溃后恢复更快)
\\开始将这个值设置为512M可以拥有1G的的redo日志,会使得拥有充裕的写操作空间
max_connections 151(默认值,需要修改)
innodb_file_per_table OFF(默认将所有表的数据和索引存放在共享表空间,值为ON时会为每张表建立一个.ibd文件,好处在于对每个表进行drop、truncate或rebuild操作时会回收磁盘空间。但不会对数据库性能带来任何收益,在大量表情况下并不推荐这样做(10K+))
innodb_flush_log_at_trx_commit 1 (默认值,支持ACID特性,在主要关注点是数据安全时这个值是最合适的,但是对于IO(读写)速度较慢的系统,会带来巨大的开销。值为2时会导致不可靠,因为提交的事物仅仅每秒才flush一次到redo日志,值为0时的速度是最快的,但是在系统崩溃时可能会丢失一些数据,只适用于备份节点)
innodb_flush_method fdatasync (在有硬件raid控制器,并且独立缓存采用write-back机制,有电池断电保护时,配置成O_DIRECT,否则,设置为fdatasync)
innodb_log_buffer_size 1M (默认值,这项配置决定了为尚未执行的事物分配的缓存,默认值一般够用。如果事物中包含大量二进制大对象或者大文本字段的话,缓存会很快被填满并触发额外的IO,查看innodb_log_waits状态,不如不为0,增加)
query_cache_size (查询缓存,最佳方法是一开始就停用,设置该值为0,并利用其他方法加速查询,优化索引,增加拷贝分散负载或者启用额外的缓存)
log_bin
skip_name_resolve
skip-locking (避免mysql的外部锁定,减少出错几率增强稳定性)
back_log=500 (这个值指出在mysql暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。如果在一个短时间内有很多连续,增大这个值。这个值制定到来的TCP/IP链接的侦听队列的大小.linux系统推荐设置为小于512的数字,跟系统本身的listen函数backlog大小有关)
key_buffer_size = 256M (指定索引的缓冲大小,增加客源得到更好的索引处理性能。该数值设置的过大会使服务器整体效率降低)
sort_buffer_size = 6M (查询排序时所能使用的缓冲区大小,每连接独占。)
wait_timeout = 10 (指定一个请求的最大链接时间)
提升性能的建议:
1.如果opened_tables太大,应该把my.cnf中的table_cache变大
2.如果Key_reads太大,则应该把my.cnf中key_buffer_size变大.可以用Key_reads/Key_read_requests计算出cache失败率
3.如果Handler_read_rnd太大,则你写的SQL语句里很多查询都是要扫描整个表,而没有发挥索引的键的作用
4.如果Threads_created太大,就要增加my.cnf中thread_cache_size的值.可以用Threads_created/Connections计算cache命中率
5.如果Created_tmp_disk_tables太大,就要增加my.cnf中tmp_table_size的值,用基于内存的临时表代替基于磁盘的
系统级别优化:
vi /etc/fstab下
noatime
确保在文件系统上禁用 atime 日志记录特性。atime 是最近访问文件的时间,每当访问文件时,底层文件系统必须记录这个时间戳。因为系统管理员很少使用 atime,禁用它可以减少磁盘访问时间。禁用这个特性的方法是,在 /etc/fstab 的第四列中添加 noatime 选项。 ---需要remount。
mount -o remount,rw / 效果很明显
内存配置:numa=off
另外可以设置 vm.zone_reclaim_mode=0尽量回收内存
IO调度器修改:
scheduler:/sys/block/sda/queue/scheduler //sda == {DEVICE-NAME}
nr_requests:/sys/block/sda/queue/nr_requests //磁盘队列长度
read_ahead_kb:/sys/block/sda/queue/read_ahead_kb //减少预读
本文出自 “tring” 博客,请务必保留此出处http://warcraft3.blog.51cto.com/6514883/1427299
标签:mysql、性能、调优
原文地址:http://warcraft3.blog.51cto.com/6514883/1427299