Bagaimana untuk menyelesaikan kelewatan master-slave mysql
Keupayaan replikasi terbina dalam MySQL adalah asas untuk membina aplikasi berprestasi tinggi yang besar. Mengedarkan data MySQL kepada berbilang sistem Mekanisme yang diedarkan ini dicapai dengan menyalin data hos MySQL tertentu kepada hamba hos yang lain dan melaksanakannya semula.
Semasa replikasi, satu pelayan bertindak sebagai tuan dan satu atau lebih pelayan lain bertindak sebagai hamba. Master menulis kemas kini kepada fail log binari dan mengekalkan indeks fail untuk menjejaki putaran log. Log ini merekodkan kemas kini yang dihantar kepada pelayan hamba. Apabila hamba menyambung kepada tuan, ia memberitahu tuan lokasi kemas kini berjaya terakhir yang dibaca hamba dalam log. Pelayan hamba menerima sebarang kemas kini yang telah berlaku sejak itu, kemudian menyekat dan menunggu pelayan induk memberitahu mereka tentang kemas kini.
Masalah dengan replikasi master-slave mysql:
- Selepas pangkalan data utama dimatikan, data mungkin hilang
- Pustaka hamba hanya mempunyai satu Thread sql, dan perpustakaan utama berada di bawah tekanan penulisan yang berat, dan replikasi mungkin akan ditangguhkan
Jawapan: Apabila bercakap tentang prinsip kelewatan penyegerakan master-slave dalam pangkalan data MySQL, kita harus bermula dengan prinsip replikasi master-slave pangkalan data mysql ialah operasi berbenang tunggal untuk semua DDL dan DML Binlog adalah penulisan urutan, jadi kecekapan sangat tinggi, benang Slave_IO_Running hamba akan pergi ke perpustakaan utama untuk mendapatkan log, dan kecekapannya akan menjadi agak tinggi Operasi DDL dan DML perpustakaan utama pada hamba. Operasi IO DML dan DDL adalah rawak, bukan berurutan, jadi kosnya akan menjadi sangat tinggi pada hamba juga boleh menyebabkan pertikaian kunci Memandangkan Slave_SQL_Running juga berutas tunggal, induk kad DDL perlu melaksanakan 10 kali. minit, kemudian semua DDL berikutnya akan menunggu DDL ini selesai melaksanakan sebelum meneruskan, yang mengakibatkan kelewatan. Sesetengah rakan akan bertanya: "DDL yang sama pada perpustakaan utama juga perlu dilaksanakan selama 10 minit. Mengapa hamba ditangguhkan?"
Jawapan: Apabila konkurensi TPS perpustakaan utama adalah tinggi dan bilangan DDL yang dijana melebihi apa yang boleh ditanggung oleh satu benang SQL hamba, penangguhan akan berlaku .
Jawapan: Penyelesaian paling mudah untuk mengurangkan kelewatan penyegerakan hamba adalah dengan mengoptimumkan seni bina dan cuba menjadikan DDL perpustakaan utama dilaksanakan dengan cepat. Terdapat juga fakta bahawa perpustakaan utama ditulis dan mempunyai keselamatan data yang tinggi, seperti sync_binlog=1, innodb_flush_log_at_trx_commit = 1 dan tetapan lain Hamba tidak memerlukan keselamatan data yang tinggi Anda boleh menetapkan sync_binlog kepada 0 atau mematikan binlog . innodb_flushlog juga boleh ditetapkan kepada 0 untuk meningkatkan kecekapan pelaksanaan SQL. Yang lain adalah menggunakan peranti perkakasan yang lebih baik daripada perpustakaan utama sebagai hamba.
1. Kelewatan rangkaian
2. beban induk
3. beban hamba
Pendekatan umum ialah menggunakan berbilang hamba untuk mengedarkan permintaan baca, dan kemudian menggunakan pelayan khusus daripada hamba ini sahaja untuk sandaran tanpa sebarang operasi lain, supaya keperluan 'masa nyata' dapat dicapai pada tahap maksimum
Selain itu, mari perkenalkan 2 lagi parameter yang boleh mengurangkan kelewatan
–hamba-net-masa tamat=saat
Makna parameter: Apabila hamba gagal membaca data log dari pangkalan data utama, berapa lama menunggu untuk mewujudkan semula sambungan dan mendapatkan data
Unit slave_net_timeout ialah saat. Tetapan lalai ialah 3600 saat
|.hamba_net_masa tamat |
–master-connect-retry=saat
Makna parameter: Apabila mewujudkan semula sambungan tuan-hamba, jika sambungan gagal diwujudkan, berapa lama masa yang diperlukan untuk mencuba semula.
Unit master-connect-retry ialah saat Tetapan lalai ialah 60 saat
Biasanya mengkonfigurasi 2 parameter di atas boleh mengurangkan kelewatan penyegerakan data master-slave yang disebabkan oleh masalah rangkaian
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan kelewatan master-slave mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Keperluan Sistem Kod Vs: Sistem Operasi: Windows 10 dan ke atas, MACOS 10.12 dan ke atas, pemproses pengedaran Linux: minimum 1.6 GHz, disyorkan 2.0 GHz dan ke atas memori: minimum 512 MB, disyorkan 4 GB dan ke atas ruang penyimpanan: minimum 250 mb, disyorkan 1 GB dan di atas keperluan lain:

Sebab -sebab pemasangan sambungan kod VS mungkin: ketidakstabilan rangkaian, kebenaran yang tidak mencukupi, isu keserasian sistem, versi kod VS terlalu lama, perisian antivirus atau gangguan firewall. Dengan menyemak sambungan rangkaian, keizinan, fail log, mengemas kini kod VS, melumpuhkan perisian keselamatan, dan memulakan semula kod VS atau komputer, anda boleh menyelesaikan masalah dan menyelesaikan masalah secara beransur -ansur.

Walaupun Notepad tidak dapat menjalankan kod Java secara langsung, ia dapat dicapai dengan menggunakan alat lain: menggunakan pengkompil baris arahan (Javac) untuk menghasilkan fail bytecode (fileName.class). Gunakan Java Interpreter (Java) untuk mentafsir bytecode, laksanakan kod, dan output hasilnya.

VS Kod adalah nama penuh Visual Studio Code, yang merupakan editor kod dan persekitaran pembangunan yang dibangunkan oleh Microsoft. Ia menyokong pelbagai bahasa pengaturcaraan dan menyediakan penonjolan sintaks, penyiapan automatik kod, coretan kod dan arahan pintar untuk meningkatkan kecekapan pembangunan. Melalui ekosistem lanjutan yang kaya, pengguna boleh menambah sambungan kepada keperluan dan bahasa tertentu, seperti debuggers, alat pemformatan kod, dan integrasi Git. VS Kod juga termasuk debugger intuitif yang membantu dengan cepat mencari dan menyelesaikan pepijat dalam kod anda.

VS Kod boleh didapati di Mac. Ia mempunyai sambungan yang kuat, integrasi git, terminal dan debugger, dan juga menawarkan banyak pilihan persediaan. Walau bagaimanapun, untuk projek yang sangat besar atau pembangunan yang sangat profesional, kod VS mungkin mempunyai prestasi atau batasan fungsi.

Visual Studio Code (VSCode) adalah editor cross-platform, sumber terbuka dan editor kod percuma yang dibangunkan oleh Microsoft. Ia terkenal dengan ringan, skalabilitas dan sokongan untuk pelbagai bahasa pengaturcaraan. Untuk memasang VSCode, sila lawati laman web rasmi untuk memuat turun dan jalankan pemasang. Apabila menggunakan VSCode, anda boleh membuat projek baru, edit kod, kod debug, menavigasi projek, mengembangkan VSCode, dan menguruskan tetapan. VSCode tersedia untuk Windows, MacOS, dan Linux, menyokong pelbagai bahasa pengaturcaraan dan menyediakan pelbagai sambungan melalui pasaran. Kelebihannya termasuk ringan, berskala, sokongan bahasa yang luas, ciri dan versi yang kaya

Penggunaan utama Linux termasuk: 1. Sistem Operasi Pelayan, 2. Sistem Terbenam, 3. Linux cemerlang dalam bidang ini, menyediakan kestabilan, keselamatan dan alat pembangunan yang cekap.

Untuk melihat alamat repositori Git, lakukan langkah -langkah berikut: 1. Buka baris arahan dan navigasi ke direktori repositori; 2. Jalankan perintah "Git Remote -V"; 3. Lihat nama repositori dalam output dan alamat yang sepadan.
