Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kuidas saaksin oma MySQL -i replikatsiooni seadistusele lisada rohkem orje, põhjustamata jõudlusprobleeme


Kuidas saaksin oma MySQL -i replikatsiooni seadistusele lisada rohkem orje, põhjustamata jõudlusprobleeme


MySQL-i replikatsiooni seadistusele rohkem orjade lisamiseks ilma jõudlusprobleeme põhjustamata kaaluge mitmekihilise replikatsiooniarhitektuuri vastuvõtmist, selle asemel et kõigi orjade ühendamine otse esmase allikaga. Kui paljud orjad ühendavad otse ühe allikaga, suurendab see selle allika koormust, kuna iga orja säilitab ühenduse ja allika, mis peab saatma binaarsed logi andmed igale, mis võib saada võrgu ja jõudluse kitsaskohaks. Selle asemel konfigureerige replikatsioon hierarhiliselt, lastes esmase allika replitseeruda ühele või mõnele vahelisele koopiale, mis seejärel replitseerub ülejäänud orjadele. See meetod vähendab otseste ühenduste arvu primaarse ja jaotab replikatsioonikoormuse ühtlasemalt serverites.

Vahepealsed koopiad tuleb konfigureerida binaarsete värskenduste logimiseks (lubatud `log_slave_updates` abil), nii et need saaksid olla järgmise etapi koopiate allikad. See seadistus loob tõhusalt replikatsiooniahela või puu, mis võib jõudlust ja mastaapsust märkimisväärselt parandada.

Lisaks mängib replikatsioonirežiim olulist rolli jõudluse ja andmete järjepidevuses. MySQL toetab asünkroonseid ja poolsünkroonseid replikatsioonirežiime. Asünkroonne replikatsioon võimaldab primaarserveril tehinguid jätkata orje ootamata, parandades kirjutamise läbilaskevõimet, kuid põhjustades replikatsiooni viivituse. Poolsünkroonne replikatsioon tagab, et vähemalt üks ori tunnistab tehingut enne esmase pühendumist, suurendades andmete järjepidevust latentsuse väikese kuluga. Reguleerige need sätted vastavalt rakenduse järjepidevuse ja latentsusaja nõuetele.

Edasiseks optimeerimiseks häälestage orjade replikatsiooni niidid. Alates MySQL 5.6-st toetatakse mitme keermega replikatsiooni, mis võimaldab mitmel SQL-lõime paralleelselt rakendada relee logi sündmusi. See võib vähendada replikatsiooni viivitust, eriti kui töökoormus hõlmab paljusid erinevaid andmebaase või tabeleid, mida saab iseseisvalt töödelda mitme lõime abil.

Disk I/O konfiguratsioon on samuti ülioluline: paigutage relee logid ja andmebaasifailid eraldi füüsilistel draividel I/O väite minimeerimiseks. See võib aidata orjadel replikatsioonivoogu tõhusamalt sammu pidada.

Kaaluge suures keskkonnas vastutuse jagamist, delegeerides erinevad andmebaasid või tabelid erinevatele koopiatele, et tasakaalustada koormust ja vältida vaidlust mis tahes koopia korral.

Uue orja lisamisel on oluline see õigesti varustada:

- Määrake konfliktide vältimiseks ainulaadne `server_id`.
- Lähtestage orja esmatasandi andmete hetktõmmise või varukoopiaga tagamaks, et see hakkab järjepidevast punktist kordama.
- Seadistage orja allika ühenduse üksikasjade ja replikatsiooniseadetega.
-Kasutage initsialiseerimise ajal selliseid võimalusi nagu `--Skip-orja-start`, et replikatsiooni enneaegselt ei alusta.
- Alustage replikatsiooni, kui seadistamine on lõpule viidud, ja jälgige viivitust või vigu.

Uute orjade andmete varundamist ja taastamist saab teha selliste tööriistade abil nagu `mysqLdump`, Percona Xtrabacup või MySQL klooni pistikprogramm, sõltuvalt suurusest ja seisaku tolerantsist. Xtrabackup utiliidi saab luua kuuma varukoopiaid ilma lähteandmebaasi lukustamata, minimeerides seisakuid.

Sünkroonimiseks ja algse koormuse tasakaalustamiseks aitavad sellised tööriistad nagu PT-laua-sünkroonimine tagada andmete järjepidevus kapteni ja orja vahel pärast taastamist.

Kokkuvõtteks võib öelda, et peamised strateegiad, et lisada rohkem orje ilma jõudluse halvenemiseta, hõlmavad järgmist:

- Kasutage hierarhilist replikatsiooni topoloogiat koos vahepealsete koopiatega.
- Luba `log_slave_updates` vahepealsed koopiad.
- Valige asünkroonsete ja poolsünkroonsete replikatsioonirežiimide vahel, mis põhinevad järjepidevuse ja latentsuse vajadustel.
- Kasutage orjadel mitme keermega replikatsiooni.
- I/O optimeerige, eraldades relee logid ja andmefailid füüsiliselt.
- Levitage replikatsiooni töökoormust andmebaasi või tabeli segregatsiooni abil.
- Pakkuge uusi orjade hoolikalt unikaalsete serveri ID -de ja järjepidevate hetktõmmistega.
- Kasutage esialgseks seadistamiseks sobivaid varundus- ja sünkroonimisriistu.
- Monitori replikatsiooni viivitus ja jõudluse mõõdikud pidevalt.

See lähenemisviis aitab säilitada skaleeritavat ja toimivat replikatsiooniarhitektuuri orjade arvu kasvades, vältides esmase allika kitsaskohti ja tagades tõhusa replikatsiooni läbilaskevõime.

Selle seadmise ja haldamise üksikasjalikud praktilised protseduurid leiate MySQL -i ametlikest dokumentatsioonist ja kogenud MySQL -i teenusepakkujatelt, kes on spetsialiseerunud kõrge kättesaadavuse ja replikatsiooniarhitektuuridele.