美文网首页
初识后台线程

初识后台线程

作者: 91洲际哥 | 来源:发表于2018-03-24 17:47 被阅读0次

Ⅰ、看下所有后台线程

(root@localhost) [(none)]> select name from performance_schema.threads where name like 'thread/innodb%' order by name;
+----------------------------------------+
| name                                   |
+----------------------------------------+
| thread/innodb/buf_dump_thread          |    # dump bp
| thread/innodb/dict_stats_thread        |    # 元数据
| thread/innodb/io_ibuf_thread           |    # change buffer
| thread/innodb/io_log_thread            |    # 写重做日志
| thread/innodb/io_read_thread           |    # 异步读
| thread/innodb/io_read_thread           |
| thread/innodb/io_read_thread           |
| thread/innodb/io_read_thread           |
| thread/innodb/io_write_thread          |    # 异步写
| thread/innodb/io_write_thread          |
| thread/innodb/io_write_thread          |
| thread/innodb/io_write_thread          |
| thread/innodb/page_cleaner_thread      |    # 刷新脏页,innodb_page_cleaners,建议和io_write_thread设置一样
| thread/innodb/srv_error_monitor_thread |    # 监控
| thread/innodb/srv_lock_timeout_thread  |    # 监控
| thread/innodb/srv_master_thread        |    # 之前很关键,脏页刷新之前在这个线程里,5.6开始移出去了,基本上现在就是刷新重做日志的
| thread/innodb/srv_monitor_thread       |    # 监控
| thread/innodb/srv_purge_thread         |    # 回收undo
| thread/innodb/srv_worker_thread        |    # page_cleaner的子线程
| thread/innodb/srv_worker_thread        |
| thread/innodb/srv_worker_thread        |
+----------------------------------------+
21 rows in set (0.00 sec)

异步读写由下面两个参数控制

innodb_read_io_threads 不建议调整,读取基本上很少是异步,调大没太大意义

innodb_write_io_threads 可以调大一点,因为数据库写入都是异步的,默认是4,调成8或者16,特别是ssd的情况下

Ⅱ、脏页刷新

innodb_io_capacity参数控制

每十秒钟刷新这个参数个页,这是一个全量的刷新,如果量特别大也可能是每秒钟刷这么多,可以理解为每秒钟刷的最多的量

innodb_io_capacity_max 5.7中出来的参数作额外控制,一般设为前者的double

这里先了解即可,如需深入,需要展开master thread的工作原理,请参考《MySQL技术内幕——InnoDB存储引擎》第2版

相关文章

  • 初识后台线程

    Ⅰ、看下所有后台线程 异步读写由下面两个参数控制 innodb_read_io_threads 不建议调整,...

  • java线程使用总结

    ### 线程知识点归纳,后续更新 1. 后台线程:设置Thread.setDaemon(true)就是后台线程了。...

  • 守护线程和用户线程

    后台/守护/daemon 程序运行的时候,在后台提供的一种通用服务的线程。当所有的用户线程结束后,后台线程也被全部...

  • 初识线程

    记得初学java那会,对于线程完全是处于懵逼的状态,脑子里对线程完全没有什么概念,也想象不出它是个什么东西。当时...

  • 初识线程

    串行 串行是指执行多个任务时,各个任务按顺序执行,完成一个之后才能进行下一个。 并发 单个处理器上来回切换任务(在...

  • iOS - 多线程(一):初识

    iOS - 多线程 系列文章 iOS - 多线程(一):初识iOS - 多线程(二):pthread、NSThre...

  • iOS - 多线程(二):pthread、NSThread

    iOS - 多线程 系列文章 iOS - 多线程(一):初识iOS - 多线程(二):pthread、NSThre...

  • iOS - 多线程(四):NSOperation

    iOS - 多线程 系列文章 iOS - 多线程(一):初识iOS - 多线程(二):pthread、NSThre...

  • iOS - 多线程(三):GCD

    iOS - 多线程 系列文章 iOS - 多线程(一):初识iOS - 多线程(二):pthread、NSThre...

  • java控制线程(二)

    java控制线程(二) 后台线程: what: 有一种线程,它是在后台运行的,它的任务是为其他的线程提供服务,这种...

网友评论

      本文标题:初识后台线程

      本文链接:https://www.haomeiwen.com/subject/unzqcftx.html