zoukankan      html  css  js  c++  java
  • MySQL多线程复制统计信息

    MySQL从5.6开始支持多线程复制,即MTS(Multi-threaded Slave)。
    开启MTS需要将参数slave_parallel_workers设置成大于1;

    开启MTS之后,会将一些多线程复制的统计信息写入error日志中。例如:

    2021-12-23T04:19:28.704457Z 6137458 [Note] Multi-threaded slave statistics for channel '': seconds elapsed = 733; events assigned = 37952513; worker queues filled over overrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock conflicts = 357338533800 waited (count) when Workers occupied = 19795 waited when Workers occupied = 101620098100
    2021-12-23T05:29:48.957691Z 6137458 [Note] Multi-threaded slave statistics for channel '': seconds elapsed = 4220; events assigned = 37957633; worker queues filled over overrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock conflicts = 357338533800 waited (count) when Workers occupied = 19795 waited when Workers occupied = 101620098100
    

      

    seconds elapsed = 810;
    #上一次统计和这一次统计的时间间隔


    events assigned = 37951489;
    #总共有多少个events被分配执行,这里统计的是总数


    worker queues filled over overrun level = 0;
    #MTS倾向于在并行workers之间进行负载均衡,参数slave_parallel_workers参数指定了有多少个并行复制workers线程,该项统计信息显示workers的饱和程度。如果并行的worker队列都接近满了,该计数器就会增加,且为了避免达到worker队列的限制,复制事件就会延迟。


    waited due a Worker queue full = 0;
    #因为workers队列爆满,协调线程必须等待,该统计参数会增长


    waited due the total size = 0;
    #该参数代表worker队列持有未应用事件,达到了可用内存的限制,造成协调线程睡眠的次数。如果这个值持续增长,需要增大slave_pending_jobs_size_max值来避免协调线程等待时间。


    waited at clock conflicts = 357338533800
    #事务之间存在依赖的情况下,该参数显示等待时间,相当于冲突检测和解决方案的逻辑时间。


    waited (count) when Workers occupied = 19795
    #协调进程监控worker足额(enough)分配的统计次数。enough定义取决于调度类型(基于每个库和时钟)


    waited when Workers occupied = 101620098100
    #协调线程等待worker线程可用的时间,并且仅适用于提交时钟调度程序(Commit-clock scheduler)。

    waited at clock conflicts、waited (count) when Workers occupied、waited when Workers occupied都是累计值。

    通过将log-warnings变量更改为大于1的值,可以从错误日志文件中获取有关多线程性能如何的信息。

  • 相关阅读:
    POJ 1166 The Clocks 高斯消元 + exgcd(纯属瞎搞)
    防止登录页面出如今frame中
    android--显式跳转和隐式跳转的差别使用方法
    卫星照片
    poj 2586 Y2K Accounting Bug (贪心)
    【转】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型
    【转】在Eclipse中使用PyDev进行Python开发
    【转】eclipse + Pydev 配置Python开发环境
    【转】Python自动化测试 (一) Eclipse+Pydev 搭建开发环境
    【转】Eclipse的启动问题【an error has occurred see the log file】
  • 原文地址:https://www.cnblogs.com/abclife/p/15724923.html
Copyright © 2011-2022 走看看