zoukankan      html  css  js  c++  java
  • 初识后台线程

    Ⅰ、看下所有后台线程

    (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版

  • 相关阅读:
    低代码:时代的选择
    AI+云原生,把卫星遥感虐的死去活来
    网络货运平台要智能,安全的数据底座少不了
    基于昇腾CANN的卡通图像生成可在线体验啦!十分钟带你了解CANN应用开发全流程
    什么是强化学习?
    高可用架构演进之单元化
    AOC萌新探索:搭建和体验在线AOC环境
    如何将知识引入机器学习模型提升泛化能力?
    零代码以“王者荣耀”为例解析设计七原则
    从零开始搭建前端脚手架
  • 原文地址:https://www.cnblogs.com/---wunian/p/8993339.html
Copyright © 2011-2022 走看看