把它设成60s足够了 。
如果不配的后果:
默认为50s配置实例:
innodb_lock_wait_timeout = 6029)innodb_io_capacity_max
推荐设置:
8000作用:
- 这个值很重要,它对读无效,对写很有决定意义 。
- 它会直接决定mysql的tps(吞吐性能),这边给出参考:sata/sas硬盘这个值在200. sas raid10: 2000,ssd硬盘:8000,fusion-io(闪存卡):25,000-50,000
- 本调优基于的是ssd,此值设置为8000,笔者上一家公司互联网金融是把一整个mysql扔到了闪存卡里的,因此设置的值为:50,000.
- 需要根据paas或者是ias的vm的硬盘性号来定
默认为200,系统吞吐上不去 。配置实例:
innodb_io_capacity_max = 800030)innodb_io_capacity
它是io_capacity_max的一半,同样,它对读无效对写有决定意义 。
配置实例:
innodb_io_capacity_max = 400031)innodb_flush_method
推荐设置:
O_DIRECT作用:
推荐使用O_DIRECT 。让我们一起来理解一下,它有3种模式:
1)fdatasync,上面最常提到的fsync(int fd)函数,该函数作用是flush时将与fd文件描述符所指文件有关的buffer刷写到磁盘,并且flush完元数据信息(比如修改日期、创建日期等)才算flush成功 。它对磁盘的io读写会很频繁
2)O_DIRECT则表示我们的write操作是从mysql innodb buffer里直接向磁盘上写,它会充分利用缓存
3)_DIRECT模式的free内存下降比较慢,因为它是据文件的写入操作是直接从mysql innodb buffer到磁盘的,并不用通过操作系统的缓冲,而真正的完成也是在flush这步,日志还是要经过OS缓冲,O_DIRECT在SQL吞吐能力上较好 。
如果不配的后果:
它的默认值为fdatasync 。配置实例:
innodb_flush_method = O_DIRECT32)innodb_file_format
推荐设置:
Barracuda作用:
推荐使用Barracuda模式
它是启用表压缩用的,如:
CREATE TABLE `test_1` (
`x` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
建完后可以通过:show table status like 'test_1';来查看是否已经启用了表压缩了 。
innodb_file_format有这么几种模式:
Antelope-羚羊模式,支持Redundant(冗余)、Compact(紧凑)模式
Barracuda-梭子鱼,是InnoDB Plugin支持的文件格式,在原来的基础上新增了两种数据表格式的支持:Dynamic 和 Compressed
因此我推荐使用:Barracude模式,因为它可以兼容其它数据模式 。
它也可以在运行时动态改变:SET GLOBAL innodb_file_format_max = barracuda;
如果不配的后果:
它默认使用的是叫“联合模式”,即不是棱子鱼也不是羚羊 。配置实例:
innodb_file_format = Barracuda33)innodb_file_format_max
这个参数必须和innodb_file_format参数一致,一定记住,要不然不生效 。
34)innodb_log_group_home_dir = /redolog/
这个就不用解释了,太傻瓜了 。这种路径的都可由运维决定,记得挂在大磁盘下 。
35)innodb_undo_directory = /undolog/
这个就不用解释了,太傻瓜了 。这种路径的都可由运维决定,记得挂在大磁盘下 。
36)innodb_undo_logs = 128
推荐设置:
128作用:
指定回滚段的个数(早期版本该参数名字是innodb_rollback_segments),默认128个 。每个回滚段可同时支持1024个在线事务 。这些回滚段会平均分布到各个undo表空间中 。该变量可以动态调整,但是物理上的回滚段不会减少,只是会控制用到的回滚段的个数 。现在SSD非常普及 。innodb_undo_logs可以默认为128不变 。
如果不配的后果:
默认就是128配置实例:
innodb_undo_logs = 12837)innodb_undo_tablespaces
推荐设置:
3作用:
推荐:3,默认为3
定单独存放的undo表空间个数,例如如果设置为3,则undo表空间为undo001、undo002、undo003,每个文件初始大小默认为10M 。该参数我们推荐设置为大于等于3,更多的碎片文件会影响磁盘的io性能,而不够碎片同样影响mysql的吞吐率,在ssd上一般最佳的配置在3.如果只有1个undo表空间,那么整个系统在此过程中将处于不可用状态 。为了尽可能降低truncate对系统的影响,建议将该参数最少设置为3;
推荐阅读
- 淘宝店铺好评率如何快速提升 淘宝好评率低于多少有影响
- 高性能网络通信框架 HP-Socket v5.7.2
- 多云架构的3个常见性能挑战和解决方案
- 2分钟学会,提升你气质的20个小习惯
- 淘宝店的物流服务怎么提升 如何提高物流时效
- 淘宝新店铺怎么刷销量 淘宝店铺怎么提升流量和销量
- 在桌面上创建一个关机快捷方式,只需一条命令,关机速度大幅提升
- 月经期间女性能做瑜伽吗?
- 淘宝每天转化率百分之多少最好 淘宝怎么提升转化率
- 淘宝客单价高的产品怎么刷 淘宝货单价怎么提升
