Maison base de données tutoriel mysql MySQL slave状态之Seconds_Behind_Master_MySQL

MySQL slave状态之Seconds_Behind_Master_MySQL

Jun 01, 2016 pm 01:36 PM
信息

bitsCN.com

   在MySQL的主从环境中,我们可以通过在slave上执行show slave status来查看slave的一些状态信息,其中有一个比较重要的参数Seconds_Behind_Master。那么你是否明白它的真正含义以及它是怎么计算的呢?
 

        在之前我一直误以为Seconds_Behind_Master是表示slave比master落后多少,如果这个值为0的表示主从已经处于一致了(在非同步模式下,现在官方最多也只在5.5中增加了半同步复制)。但是最近我终于认识到之前的错误理解。首先我们需要明白的一点:Seconds_Behind_Master表示slave上SQL thread与IO thread之间的延迟,我们都知道在MySQL的复制环境中,slave先从master上将binlog拉取到本地(通过IO thread),然后通过SQL thread将binlog重放,而Seconds_Behind_Master表示本地relaylog中未被执行完的那部分的差值。

手册上的定义:

In essence, this field measures the time difference in seconds between the slave SQL thread and the slave I/O thread.

所以如果slave拉取到本地的relaylog(实际上就是binlog,只是在slave上习惯称呼relaylog而已)都执行完,此时通过show slave status看到的会是0,那么Seconds_Behind_Master的值为0是否表示主从已经处于一致了呢?答案几乎是否定的!为什么几乎是否定的?因为绝大部分的情况下复制都是异步的,异步就意味着master上的binlog不是实时的发送到slave上,所以即使Seconds_Behind_Master的值为0依然不能肯定主从处于一致,这也是我之前强调非同步复制的原因(现在已经有公司在做同步复制了,比如网易自己实现了VSR,VirtualSynchronized Replication,由于同步复制性能较差,所以网易再实现同步复制的同时还打了group commit的补丁)。所以如果我们要以这个参数来估计主从延迟多久的话至少得在一个比较好的网络环境中,这样才能保证几乎master上的binlog都已经发送到slave上。

        上面解释了Seconds_Behind_Master这个值的真正含义,那么它的值到底是怎么计算出来的呢?实际上在binlog中每个binlog events都会附上执行时的timestamp,所以在在确定Seconds_Behind_Master的值时MySQL是通过比较当前系统的时间戳与当前SQL thread正在执行的binlog event的上的时间戳做比较,这个差值就是Seconds_Behind_Master的值。也许你会有疑问那要是两台服务器之间的时钟不一致怎么办?确实会存在这种情况,那么此时这个值的可靠性就不大了,手册上对此也进行了说明:

This time difference computation works even if the master and slave do not have identical clock times, provided that the difference,
computed when the slave I/O thread starts, remains constant from then on. Any changes—including NTP updates—can lead to clock
skews that can make calculation of Seconds_Behind_Master less reliable

        Seconds_Behind_Master的值除了是非负数之外还可能是NULL,它是由如下几种情况导致的:SQL thread没运行/IO thread没运行/slave没有连接到master。  

        接下来再简单介绍一下异步复制/半同步复制之间的区别。

        异步复制,master上的操作记录binlog的同时不关心binlog是否已经被slave接收。

        半同步复制,master上的操作记录binlog的同时会关心binlog是否被slave接受。但是由于它的处理逻辑问题可能丢一个事务,如下图所示:

MySQL slave状态之Seconds_Behind_Master_MySQL

这样的处理流程存在一个问题,当存储引擎提交(storage commit)后,此时如果master挂了那么会存在主从不一致,对于这个问题orczhou好像自己对源码进行了修改更改storage commit的顺序来达到一个增强的半同步复制。

        对Seconds_Behind_Master就解释到这里,希望对你也能有点帮助。
 

bitsCN.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment supprimer les informations sur l'auteur et la dernière modification dans Microsoft Word Comment supprimer les informations sur l'auteur et la dernière modification dans Microsoft Word Apr 15, 2023 am 11:43 AM

Les documents Microsoft Word contiennent certaines métadonnées lors de leur enregistrement. Ces détails sont utilisés pour l'identification du document, comme la date de création, l'auteur, la date de modification, etc. Il contient également d'autres informations telles que le nombre de caractères, le nombre de mots, le nombre de paragraphes, etc. Si vous souhaitez supprimer l'auteur ou les dernières informations modifiées ou toute autre information afin que d'autres personnes ne connaissent pas les valeurs, il existe un moyen. Dans cet article, voyons comment supprimer les informations sur l'auteur et la dernière modification d'un document. Supprimer les informations sur l'auteur et la dernière modification du document Microsoft Word Étape 1 – Accédez à

Comment obtenir le GPU sous Windows 11 et vérifier les détails de la carte graphique Comment obtenir le GPU sous Windows 11 et vérifier les détails de la carte graphique Nov 07, 2023 am 11:21 AM

Utilisation des informations système Cliquez sur Démarrer et entrez les informations système. Cliquez simplement sur le programme comme indiqué dans l'image ci-dessous. Vous trouverez ici la plupart des informations sur le système, notamment les informations sur la carte graphique. Dans le programme Informations système, développez Composants, puis cliquez sur Afficher. Laissez le programme rassembler toutes les informations nécessaires et une fois prêt, vous pourrez trouver le nom spécifique de la carte graphique et d'autres informations sur votre système. Même si vous possédez plusieurs cartes graphiques, vous pouvez trouver ici la plupart des contenus liés aux cartes graphiques dédiées et intégrées connectées à votre ordinateur. Utilisation du Gestionnaire de périphériques Windows 11 Tout comme la plupart des autres versions de Windows, vous pouvez également trouver la carte graphique sur votre ordinateur à partir du Gestionnaire de périphériques. Cliquez sur Démarrer puis

Comment partager les coordonnées avec NameDrop : guide pratique pour iOS 17 Comment partager les coordonnées avec NameDrop : guide pratique pour iOS 17 Sep 16, 2023 pm 06:09 PM

Dans iOS 17, il existe une nouvelle fonctionnalité AirDrop qui vous permet d'échanger des informations de contact avec quelqu'un en touchant deux iPhones. Cela s'appelle NameDrop, et voici comment cela fonctionne. Plutôt que de saisir le numéro d'une nouvelle personne pour l'appeler ou lui envoyer un SMS, NameDrop vous permet simplement de placer votre iPhone près de son iPhone pour échanger ses coordonnées afin qu'elle ait votre numéro. Rassembler les deux appareils fera automatiquement apparaître l’interface de partage de contacts. En cliquant sur la fenêtre contextuelle, vous afficherez les informations de contact d'une personne et son affiche de contact (vous pouvez personnaliser et modifier vos propres photos, également une nouvelle fonctionnalité d'iOS17). Cet écran comprend également des options pour « Recevoir uniquement » ou partager vos propres informations de contact en réponse.

L'algorithme NeRF à vue unique S^3-NeRF utilise des informations multi-éclairage pour restaurer la géométrie de la scène et les informations sur les matériaux. L'algorithme NeRF à vue unique S^3-NeRF utilise des informations multi-éclairage pour restaurer la géométrie de la scène et les informations sur les matériaux. Apr 13, 2023 am 10:58 AM

Les travaux actuels de reconstruction d'images 3D utilisent généralement une méthode de reconstruction stéréo multi-vues (Multi-view Stereo) qui capture la scène cible à partir de plusieurs points de vue (multi-vues) dans des conditions d'éclairage naturel constantes. Cependant, ces méthodes supposent généralement des surfaces lambertiennes et ont des difficultés à récupérer les détails haute fréquence. Une autre approche de la reconstruction de scène consiste à utiliser des images capturées à partir d'un point de vue fixe mais avec des points lumineux différents. Les méthodes photométriques stéréo, par exemple, prennent cette configuration et utilisent ses informations d'ombrage pour reconstruire les détails de surface d'objets non lambertiens. Cependant, les méthodes existantes à vue unique utilisent généralement une carte normale ou une carte de profondeur pour représenter le visible.

Comment fonctionne NameDrop sur iPhone (et comment le désactiver) Comment fonctionne NameDrop sur iPhone (et comment le désactiver) Nov 30, 2023 am 11:53 AM

Dans iOS17, il existe une nouvelle fonctionnalité AirDrop qui vous permet d'échanger des informations de contact avec quelqu'un en touchant deux iPhones en même temps. Cela s'appelle NameDrop, et voici comment cela fonctionne réellement. NameDrop élimine le besoin de saisir le numéro d'une nouvelle personne pour l'appeler ou lui envoyer un SMS afin qu'elle ait votre numéro, vous pouvez simplement tenir votre iPhone près de son iPhone pour échanger des informations de contact. Rassembler les deux appareils fera automatiquement apparaître l’interface de partage de contacts. En cliquant sur la fenêtre contextuelle, vous afficherez les informations de contact d'une personne et son affiche de contact (une photo de votre choix que vous pouvez personnaliser et modifier, également nouvelle sur iOS 17). Cet écran inclut également « Recevoir uniquement » ou partagez vos propres informations de contact en réponse.

Quelle est la raison du retard dans la réception des messages sur WeChat ? Quelle est la raison du retard dans la réception des messages sur WeChat ? Sep 19, 2023 pm 03:02 PM

La raison du retard dans la réception des informations par WeChat peut être due à des problèmes de réseau, à la charge du serveur, à des problèmes de version, à des problèmes de périphérique, à des problèmes d'envoi de messages ou à d'autres facteurs. Introduction détaillée : 1. Problèmes de réseau. Le retard dans la réception des informations sur WeChat peut être lié à la connexion réseau. Si la connexion réseau est instable ou si le signal est faible, cela peut entraîner des retards dans la transmission des informations. connecté à un réseau stable et la force du signal réseau est bonne. 2. Lorsque la charge du serveur WeChat est élevée, cela peut entraîner des retards dans la transmission des informations, en particulier pendant les périodes de pointe ou lorsqu'un grand nombre d'utilisateurs utilisent WeChat. en même temps, etc.

iOS 17 NameDrop : Comment partager facilement vos informations de contact sur iPhone iOS 17 NameDrop : Comment partager facilement vos informations de contact sur iPhone Jul 30, 2023 pm 05:18 PM

Apple a introduit un moyen très rapide (sinon le plus rapide) de partager vos informations de contact avec un autre iPhone via NameDrop. Voici tout ce que vous devez savoir. Qu’est-ce que NameDrop ? iOS 17 introduit NameDrop, une fonctionnalité révolutionnaire qui exploite les affiches de contact. Ces cartes personnalisées peuvent être créées pour vous-même et pour d'autres contacts et apparaîtront chaque fois que vous passerez un appel. Avec plusieurs options personnalisables telles que des photos, des mémojis, des monogrammes et bien plus encore, vous pouvez personnaliser votre affiche de contact en fonction de votre personnalité en utilisant votre palette de couleurs et vos polices préférées. NameDrop partage automatiquement votre affiche lorsque votre iPhone est à proximité d'autres utilisateurs, permettant ainsi aux deux parties de le faire sans effort.

Quelle est l'unité de transmission des informations dans un réseau informatique ? Quelle est l'unité de transmission des informations dans un réseau informatique ? Dec 07, 2020 pm 05:26 PM

La transmission d'informations dans les réseaux informatiques est basée sur des « mots » ; les mots sont l'unité de base de la transmission des données. Les réseaux informatiques ont deux fonctions principales : la communication de données et le partage de ressources, et les informations transmises lors de la communication de données sont exprimées sous forme de données binaires. La communication de données est une méthode de communication et un service de communication qui utilise la technologie de transmission de données pour transférer des informations de données entre deux terminaux selon un certain protocole de communication.

See all articles