Mysam引擎的优化
Mysan引擎的索引 指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。
Qusetion
Qc 查询缓存 调整Query Cache 加速读取的速度
SELECT and Sort
Sort 用来做排序的内存大小。因为Mysql是线程的工作方式,这个数值大的话,可以增加排序的速度
Table locks
Waited 这个数值越小越好 应该是等待等候的意思小的话占用的系统资源就少。
TablesTables 加快访问表文件的速度,让读取更容易。就是把表的文件描述符放到内存中不用每次都从磁盘中读取。
Connections
Max used 最大连接数 总体来说,该参数在服务器资源够用的情况下应该尽量设置大,以满足多个客户端同时连接的需求。否则将会出现类似“Too many connections”的错误。
Created Temp 创建临时表 CPU 占用有轻微下降,这表明调整 tmp_table_size 参数对 MYSQL 性能提升有改善作用。
Threads 线程缓存,减少从需要到产生的时间 就是从访问到获取的时间。
InnoDB引擎 毕设!!!!!!!!
Usage 越大越好 建议大小设置为整个内存的80% 按页Pages 单位:16K每页
InnoDB与网络
back_log 请求队列中能够排队的大小,如果增大并发数,则这个数必须要调大
show variables like '%max_allowed_packet%'; 注意:该值设置过小将导致单个记录超过限制后写入数据库失败,且后续记录写入也将失败。
show variables like '%timeout%';使用mysql的过程出现数据库连接自动断开的问题,因为连线时超时时 间过短。
interactive_timeout 处于回会话空闲的timeout
connect_timeout与wait_timeout 同一时间,这两个参数只有一个起作用。到底是哪个参数起作用,和用户连接时指定的连接参数相关,缺省情况下是使用wait_timeout。我建议是将这两个参数都修改,以免引起不必要的麻烦。
net_read_timeout
net_write_timeout 处于数据交互阶段超时时间
Innodb与IO相关的
show variables like '%innodb_flush_log%'; innodb_flush_log_trx_commit 0 最不安全,但是效率是最高,每隔一秒钟会把数据写入到硬盘上,如果断电或者数据库服务坏了,数据就丢失了 1 最安全,数据会时时的写到硬盘上 2 先写到操作系统的内存中,每隔1秒,再写入到磁盘中,mysql进程死了,数据不丢,但是断电了,数据就丢失了 生产环境下建议设置为第三条
如果系统内存过少,可以节省内存把数据直接写到磁盘中。 绕过操作系统的缓存,直接将数据写入到磁盘中,好处是节省了内存
InnoDB与cpu
主频高:可以加快cpu的运算速度,也就是可以提高你电脑的运行速度。主频的高低也是cpu好坏的一个最重要的指标。
核心:核心数越多越好。但也不尽然,一般说来,新的核心类型往往比老的核心类型具有更好的性能(例如同频的Northwood核心Pentium 4 1.8A GHz就要比Willamette核心的Pentium 4 1.8GHz性能要高),但这也不是绝对的,这种情况一般发生在新核心类型刚推出时,由于技术不完善或新的架构和制造工艺不成熟等原因,可能会导致新的核心类型的性能反而还不如老的核心类型的性能。
taskset 绑定:可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。需要先把CPU分出一部分。然后再绑定需要的程序。
转载于:https://blog.51cto.com/6241570/1093559