MySQL性能相关参数有哪几种
发布时间:2022-01-17 13:18:19 所属栏目:MySql教程 来源:互联网
导读:这篇文章给大家介绍MySQL性能相关参数有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 整理MySQL常用性能相关参数如下 general_log 记录所有执行的语句,在需要分析问题打开即可,正常服务时不需要开启,以免带来io性能影响
这篇文章给大家介绍MySQL性能相关参数有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 整理MySQL常用性能相关参数如下 general_log 记录所有执行的语句,在需要分析问题打开即可,正常服务时不需要开启,以免带来io性能影响 在join无法使用到index时候用到的buffer,和sort_buffer_size类似 tmp_table_size 在group by和distinct时如果SQL用不到索引,就会使用系统内部临时表记录中间状态。如果该值不够大,就使用物理硬盘 Innodb_buffer_pool_size InnoDB最重要的缓存,用来缓存innodb索引页面、undo页面及其他辅助数据。一般设定物理内存50%~75% Innodb_buffer_pool_instances 通过这个参数可以把整块buffer pool分割为多块instance内存空间,每个空间独立管理自己的内存和链表,来提升MySQL请求处理的并发能力。 因为buffer pool是通过链表来管理的,同时为了保护页面,需要在存取的时候对链表加锁,在多线程情况下,并发读写buffer pool缓存会有锁竞争和等待。 官方说超过1G的Innodb_buffer_pool_size 考虑设定instances去切分内存 Innodb_log_file_size,innodb_log_files_in_group 两个参数决定redo空间的大小,设置存储更新redo越大,有效降低buffer pool脏页被淘汰的速度,减少了checkpoint此书,降低磁盘I/O 不过设置过大,在数据库异常宕机时,恢复时间越长 Innodb_old_blocks_pct,innodb_old_blocks_time innodb_old_blocks_pct: 全局、动态变量,默认值 37,取值范围为5~95. 用来确定LRU链表中old sublist所占比例 innodb_old_blocks_time: 全局、动态变量,默认值 1000,取值范围为0~2**32-1,单位ms。 用来控制old sublist中page的转移策略,新的page页在进入LRU链表中时,会先插入到old sublist的头部,然后page需要在old sublist中停留innodb_old_blocks_time这么久后,下一次对该page的访问才会使其移动到new sublist的头部, 该参数的设置可以保护new sublist,尽可能的防止其being filled by page that is referenced only for a brief period。 (编辑:宿迁站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐