


Partagez deux problèmes rencontrés lors de l'utilisation de Mariadb
Sélection de la nouvelle version de MySQL
Au début, l'entreprise utilisait principalement la version mysql5.5. Cette année, nous avons construit le centre de configuration de la base de données et avons principalement promu la version mysql5.6, qui offre à la fois des performances et des performances. Avec certaines améliorations, mysql5.6 peut également prendre en charge gtid, mais il ne peut pas basculer entre le mode gtid et le mode normal en ligne. Dans le même temps, les performances de synchronisation de 5.6 sont toujours insatisfaisantes et il ne peut démarrer la réplication parallèle que dans ce cas. de plusieurs bases de données. Il est difficile d'avoir une telle garantie en entreprise, donc une fois l'opération d'écriture intensive, la synchronisation lente sera un problème sérieux
Par conséquent, j'ai récemment envisagé de mettre à niveau MySQL ; La première chose à laquelle je suis confronté lors de la mise à niveau de MySQL est Le problème est de choisir une version appropriée. Tout d'abord, nous envisageons d'utiliser mysql5.7 qui a été publié dans plusieurs versions officielles cette année. Il est actuellement utilisé dans un large éventail d'applications. et peut être envisagé pour une utilisation dans un environnement formel. Nous avons donc effectué un test de comparaison en ligne et avons constaté qu'il y avait un grand écart de performances entre mysql5.7 et notre version en ligne de mysql5.6 (c'est peut-être parce que certains paramètres n'étaient pas bien ajustés, la 5.7 est en effet beaucoup plus compliquée).
Dans le même temps, l'entreprise a fréquemment constaté récemment un stockage de journaux. La plupart d'entre eux utilisent le moteur innodb, ce qui constitue un gaspillage de capacité, car la capacité du serveur MySQL standard de notre entreprise est d'environ . 1,3T, pour certaines grandes entreprises ayant des besoins en capacité, il existe également des goulots d'étranglement en capacité. Si vous souhaitez conserver les données pendant une longue période, il sera difficile de répondre à la demande. Nous profitons donc de cette occasion pour réfléchir à cela ensemble. Actuellement, Percona et Mariadb prennent en charge Tokudb, et Mariadb 10.2 ou 10.3 prévoit également de prendre en charge Myrocks.
J'ai donc décidé de faire un test comparatif et j'ai choisi Percona 5.7.14, Mariadb 10.1.18 et notre MySQL 5.6 en ligne pour des tests comparatifs et j'ai réussi le test de résistance.
Tout d'abord, le moteur Innodb est utilisé :
Les résultats des tests de Mariadb et MySQL5.6 sont proches
Les résultats de performances de Percona 5.7.14 et les résultats officiels MySQL5.7 est similaire à MySQL 5.6. Il y a un certain écart depuis MySQL 5.6 (il est préférable de supprimer performance_schema, mais il y a toujours un écart).
Les résultats des tests utilisant le moteur Tokudb sont différents des affirmations officielles. Lors de l'utilisation d'une compression rapide, l'insertion est environ 1/4 plus lente qu'innodb et la mise à jour n'est qu'environ la moitié d'innodb. Les performances de Percona sont pires, elles ne seront donc pas prises en compte.
J'ai finalement sélectionné Mariadb 10.1.18 et déployé une entreprise en ligne Après avoir lentement testé cette entreprise, elle a été progressivement promue.
Quelques pièges rencontrés lors de l'utilisation de Mariadb
Dans le processus d'utilisation de Mariadb, j'ai rencontré de nombreux problèmes Voici deux problèmes majeurs que j'ai rencontrés pour votre référence :
### i ) Gtid_log_event ### ii) Table_map_log_event ### iii) Write_rows_log_event ### iv) Xid_log_event
在gdb启动的mariadb上插入一行记录,然后gdb观察接收到的事件为:
### 1)Rotate_log_event ### 2)Gtid_list_log_event ### 3)Rotate_log_event
Rotate_log_event事件是虚拟出来的,用于让主库跟上从库的同步位置,这基本上是一个空事件,没有做任何处理,所以初步怀疑是在处理Gtid_list_log_event事件的时候,出现了问题。
反复查看Gtid_list_log_event::do_appy_event函数中的调用情况,发现确实有些方法会调用thd->alloc来分配内存,但是没有回收,所以造成内存不断的增大,我考虑了一下,因为是主库对于同步性能要求也不高,所以在Gtid_list_log_event::do_apply_event函数的最后加了一行代码:free_root(thd->mem_root, MYF(MY_KEEP_PREALLOC)); 重新编译后,跑了一天,内存终于稳定了。
由于目前发现只有主库有该事件,主库同步处理性能要求不高,所以暂时先这样用着了。不知道mariadb官方版本什么时候会优化一下。
总体来看,Mariadb还是比较适合我们公司的,它有最新的功能、特性能够给我们提供很多解决方案。Tokudb可以解决日志型存储的问题;连接池可以解决大量连接情况下性能地下的问题;审计插件提供安全方面的审核;slave并发模式能够提供高性能的复制能力。除了这些常见功能以外,Mariadb还提供了Cassandra插件、图数据库插件等等,这些都给我们给业务的服务增加了想象力。
【相关推荐】
2. MySQL最新手册教程
3. 数据库设计那些事
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Le problème d'évaluation de l'effet de clustering dans l'algorithme de clustering nécessite des exemples de code spécifiques. Le clustering est une méthode d'apprentissage non supervisée qui regroupe des échantillons similaires dans une seule catégorie en regroupant les données. Dans les algorithmes de clustering, la manière d’évaluer l’effet du clustering est une question importante. Cet article présentera plusieurs indicateurs d'évaluation de l'effet de clustering couramment utilisés et donnera des exemples de code correspondants. 1. Indice d'évaluation de l'effet de clustering Coefficient Silhouette Le coefficient Silhouette évalue l'effet de clustering en calculant la proximité de l'échantillon et le degré de séparation des autres clusters.

Connu pour ses performances puissantes et ses fonctionnalités polyvalentes, l’iPhone n’est pas à l’abri de contretemps ou de difficultés techniques occasionnelles, un trait commun aux appareils électroniques complexes. Rencontrer des problèmes avec votre iPhone peut être frustrant, mais aucune alarme n'est généralement nécessaire. Dans ce guide complet, nous visons à démystifier certains des défis les plus fréquemment rencontrés associés à l’utilisation de l’iPhone. Notre approche étape par étape est conçue pour vous aider à résoudre ces problèmes courants, en vous proposant des solutions pratiques et des conseils de dépannage pour remettre votre équipement en parfait état de fonctionnement. Que vous soyez confronté à un problème ou à un problème plus complexe, cet article peut vous aider à les résoudre efficacement. Conseils de dépannage généraux Avant de passer aux étapes de dépannage spécifiques, voici quelques conseils utiles

Pour résoudre le problème selon lequel jQuery.val() ne peut pas être utilisé, des exemples de code spécifiques sont requis. Pour les développeurs front-end, l'utilisation de jQuery est l'une des opérations courantes. Parmi eux, utiliser la méthode .val() pour obtenir ou définir la valeur d'un élément de formulaire est une opération très courante. Cependant, dans certains cas précis, le problème de ne pas pouvoir utiliser la méthode .val() peut se poser. Cet article présentera quelques situations et solutions courantes, et fournira des exemples de code spécifiques. Description du problème Lorsque vous utilisez jQuery pour développer des pages frontales, vous rencontrerez parfois

De nombreux utilisateurs ont essayé de mettre à jour le système Win11, mais ont constaté que le menu Démarrer ne peut pas être utilisé après la mise à jour. Cela peut être dû à un problème avec la dernière mise à jour. Nous pouvons attendre que Microsoft corrige ou désinstalle ces mises à jour pour résoudre le problème. problème. Examinons-le ensemble. Que faire si le menu Démarrer ne peut pas être utilisé après l'installation de Win11. Méthode 1 : 1. Ouvrez d'abord le panneau de configuration dans Win11. 2. Cliquez ensuite sur le bouton "Désinstaller un programme" sous le programme. 3. Entrez dans l'interface de désinstallation et recherchez « Afficher les mises à jour installées » dans le coin supérieur gauche. 4. Après avoir entré, vous pouvez afficher l'heure de mise à jour dans les informations de mise à jour et désinstaller toutes les mises à jour récentes. Méthode 2 : 1. De plus, nous pouvons également télécharger directement le système win11 sans mises à jour. 2. C'est un produit sans le plus

Quelles sont les questions impliquées dans l’examen Yulong 8 Wine Master ? Quelle est la réponse correspondante ? Comment réussir l’examen rapidement ? De nombreuses questions doivent trouver une réponse dans les activités de l'examen Master of Wine, et nous pouvons nous référer aux réponses pour les résoudre. Ces questions impliquent toutes la connaissance du vin. Si vous avez besoin d’une référence, jetons un œil à l’analyse détaillée des réponses aux questions de l’examen Yakuza 8 Wine Master ! Explication détaillée des réponses aux questions de l'examen Rulong 8 Wine Master 1. Questions sur le « vin ». Il s'agit d'une liqueur distillée produite par une distillerie créée par la famille royale. Elle est brassée à partir du sucre de canne à sucre cultivé en grande quantité à Hawaï. Quel est le nom de ce vin ? Réponse : Rhum 2. Question sur le « vin ». La photo montre une boisson à base de ginseng sec et de vermouth sec. Il se caractérise par l'ajout d'olives et est connu sous le nom de « cockney ».

Wuhua Mixin a confirmé qu'elle effectuerait un test de rupture le 28 février. Cette fois, nous résoudrons principalement les problèmes courants du test de rupture, notamment si vous avez participé à des tests précédents, êtes-vous éligible cette fois, le début et la fin du test et le temps de pré-téléchargement ? Jetons un coup d'œil aux plates-formes d'appareils prises en charge et aux autres contenus. Foire aux questions sur le nouveau test révolutionnaire de Wuhuami : le 28 février, nous attendons avec impatience votre arrivée ! 1. Quelle est la nature du « test de rupture » ? Ce test est un test limité de facturation et de suppression de fichiers pour Android. Après le test, les données de jeu de ce test seront supprimées. 2. Avez-vous déjà participé au « Test d'ouverture » ou au « Test d'entrée » ? Avez-vous les qualifications pour participer au « Test de rupture » cette fois-ci ? Si vous avez participé au « Test d'ouverture » ou au « Test d'entrée », veuillez scanner le code QR ci-dessous pour accéder à " Aux joueurs ayant participé à la bêta fermée

Meilleures pratiques pour DockerCompose, Nginx et MariaDB : surveillance et optimisation des applications PHP déployées Introduction : Dans le développement d'applications moderne, la conteneurisation est devenue un moyen populaire pour nous aider à mieux gérer et déployer des applications. DockerCompose est un outil permettant de définir et d'exécuter plusieurs conteneurs, ce qui simplifie le processus de déploiement et de gestion des applications. Cet article explique comment utiliser DockerCompose pour combiner Nginx et

Problèmes de maîtrise de la parole et exemples de codes dans la technologie de synthèse vocale Introduction : La technologie de synthèse vocale est une tâche complexe impliquant le traitement du signal vocal, le traitement du langage naturel et l'apprentissage automatique. L’un des problèmes de fluidité de la parole concerne la question de savoir si la parole synthétique générée semble naturelle, fluide et cohérente. Cet article abordera le problème de maîtrise de la parole dans la technologie de synthèse vocale et fournira des exemples de code pour aider les lecteurs à mieux comprendre ce problème et sa solution. 1. Causes des problèmes de fluidité de la parole : Les problèmes de fluidité de la parole peuvent être causés par les facteurs suivants :
