32位下默认为8192配置实例:
64位下默认为16384
innodb_page_size = 819223)innodb_buffer_pool_size
推荐设置:
72G作用:
这个值和innodb_buffer_pool_instances相辅相成 。在32位机器下,innodb_buffer_pool_instances一般为1,在64位机器上,这个值为8-64.
pool_instances其实为cpu核数,它的作用是:
1)对于缓冲池在数千兆字节范围内的系统,通过减少争用不同线程对缓存页面进行读写的争用,将缓冲池划分为多个单独的实例可以提高并发性 。
2)使用散列函数将存储在缓冲池中或从缓冲池读取的每个页面随机分配给其中一个缓冲池实例 。每个缓冲池管理自己的空闲列表,刷新列表,LRU和连接到缓冲池的所有其他数据结构,并受其自己的缓冲池互斥量保护 。
innodb_buffer_pool_size的设置需要为pool_instance的整数倍 。
网上很多说innodb_buffer_pool_size为系统的70%,这是错的!因为你真的设了70%你的swap空间会被挤压,你不要忘了你还有os,上面还可能有监控agent端 。一旦swap空间被挤压后你的mysql反面严重拖慢读写 。
此处强烈建议设成内存的20%-65%间(独立的mysql服务器),为什么有一个20%呢?对于<4gb的mysql用服务器来说按照20%系统内存来设置 。由于我们是128gb的内存,此处我建议使用72G,如果内存超过128gb,一般我们会把pool instance设成16个,每个开启10g左右的buffer_pool_size,对于256gb内存的服务器来说我们可以这样设 。
如果不配的后果:
默认为64配置实例:
innodb_buffer_pool_size = 72G24)innodb_buffer_pool_instances = 8
这个参数同innodb_buffer_pool_size一起讲解了 。
25)innodb_buffer_pool_load_at_startup
推荐设置:
0作用:
这两个参数几乎没人用一般dba也不曾听说过,它是什么意思呢?Mysql在第一次(重启)时,它的buffer_pool_size中是空的,随着mysql运行时间1-2小时后,它的buffer_pool_size里开始被塞入东西,它分为old block与new block,而此时mysql性能开始一点点读写效率上去了,那是因为在buffer_pool_size没有放入东西时,mysql很多读写发生在硬盘上,从硬盘到内存的加载过程是一个比较漫长和耗时的过程,因此我们往往会设一个startup=1以加快这个“预热”过程,它与参数shutdown配合使用,即相当于把上次使用的innot_db_buffer_pool里的东西在启动时先做一次加载,以加快mysql的性能 。它会在innodb的数据目录中生成一个文件:ib_buffer_pool 。高度注意:加入了startup和shutdown=1时,mysql的启动过程会比较慢,如果你上次的dump出的buffer_pool里的东西有50多g那么mysql启动时的加载过程会变得比较慢 。这个值很多人使用默认的0(不开启),它的影响就是你在mysql重启后,一开始你的系统读写性能不如在你系统运行了2-4小时(视db读写而定)反而它的读写性能变好了 。不设使用默认值(0) 。
如果不配的后果:
不配的话系统默认为0配置实例:
innodb_buffer_pool_load_at_startup = 026)innodb_buffer_pool_dump_at_shutdown
同上面的startup参数以及解说
27)innodb_lru_scan_depth
推荐设置:
2000作用:
- innodb_io_capactiy 在sas 15000转的下配置800就可以了,在ssd下面配置2000以上 。
- 可使用默认配置 。即不设 。
默认为200,db吞吐量上不去 。配置实例:
innodb_lru_scan_depth = 200028)innodb_lock_wait_timeout
推荐设置:
60作用:
我们一般会碰到,mysql innodb_lock_wait_timeout这个错,这个错是慢sql导致,它代表的是慢sql的事务锁超过了mysql锁超时的设置了 。默认这个值为:50s,这个值是可以动态改变的,我不建议去改这个值,因为一个sql能达50s这得多夸张?
动态改变命令如下:
SHOW GLOBAL VARIABLES LIKE 'innodb_lock_wait_timeout';
SET GLOBAL innodb_lock_wait_timeout=500;
SHOW GLOBAL VARIABLES LIKE 'innodb_lock_wait_timeout';
推荐阅读
- 淘宝店铺好评率如何快速提升 淘宝好评率低于多少有影响
- 高性能网络通信框架 HP-Socket v5.7.2
- 多云架构的3个常见性能挑战和解决方案
- 2分钟学会,提升你气质的20个小习惯
- 淘宝店的物流服务怎么提升 如何提高物流时效
- 淘宝新店铺怎么刷销量 淘宝店铺怎么提升流量和销量
- 在桌面上创建一个关机快捷方式,只需一条命令,关机速度大幅提升
- 月经期间女性能做瑜伽吗?
- 淘宝每天转化率百分之多少最好 淘宝怎么提升转化率
- 淘宝客单价高的产品怎么刷 淘宝货单价怎么提升
