Rumah  >  Artikel  >  pangkalan data  >  Kesan pengimbangan beban replikasi tuan-hamba MySQL: hasil pengukuran sebenar dan perbandingan prestasi

Kesan pengimbangan beban replikasi tuan-hamba MySQL: hasil pengukuran sebenar dan perbandingan prestasi

WBOY
WBOYasal
2023-09-08 17:24:281649semak imbas

Kesan pengimbangan beban replikasi tuan-hamba MySQL: hasil pengukuran sebenar dan perbandingan prestasi

Replikasi tuan-hamba MySQL ialah penyelesaian sandaran data dan pengimbangan beban yang biasa digunakan yang boleh meningkatkan ketersediaan dan prestasi sistem pangkalan data. Dalam aplikasi praktikal, adalah sangat penting untuk menilai dan membandingkan prestasi replikasi tuan-hamba. Artikel ini akan memperkenalkan kesan pengimbangan beban replikasi tuan-hamba MySQL, dan menggambarkannya melalui hasil pengukuran sebenar dan perbandingan prestasi.

1. Prinsip replikasi master-slave MySQL
MySQL master-slave replikasi dicapai dengan menyalin data dari satu pelayan MySQL (dipanggil pelayan induk) ke pelayan MySQL yang lain (dipanggil pelayan hamba). Pelayan induk merekodkan operasi kemas kini dalam log binari, dan pelayan hamba membaca dan melaksanakan operasi kemas kini ini daripada log binari. Dengan cara ini, replikasi tuan-hamba boleh mencapai penyegerakan data automatik dan menyediakan pemulihan kerosakan dan keupayaan mengimbangi beban.

2. Persekitaran dan kaedah eksperimen
Percubaan ini menggunakan satu pelayan induk dan tiga pelayan hamba. Konfigurasi pelayan induk dan pelayan hamba adalah seperti berikut:

Pelayan induk:

  • CPU: Intel Core i5-8250U
  • Memori: 8GB
  • Pemacu keras: 256GB Ubuntu
  • LQ . versi: 8.0. 20
Pelayan Hamba:

    CPU: Intel Core i3-7100U
  • Memori: 4GB
  • Pemacu Keras: 128GB SSD
  • OS: 128GB SSD saya
  • OS: LTS. 20
Kaedah eksperimen adalah seperti berikut :

    Buat pangkalan data pada pelayan induk dan masukkan 1 juta data ujian ke dalamnya
  1. Konfigurasikan hubungan replikasi antara pelayan induk dan hamba untuk memastikan pelayan hamba dapat menyambung ke induk; pelayan dan terima kemas kini;
  2. Dalam hamba Kueri pangkalan data pada pelayan dan rekod masa pertanyaan
  3. Hentikan replikasi pada pelayan induk dan tanya pelayan hamba sekali lagi dan rekod masa pertanyaan
  4. Analisis hasil pengukuran sebenar dan bandingkan prestasi.
3. Hasil pengukuran sebenar dan perbandingan prestasi

Pertama, kami membuat pertanyaan pada pelayan hamba dan merekodkan masa pertanyaan. Katakan terdapat contoh kod pertanyaan berikut:

import time
import mysql.connector

# 连接数据库
cnx = mysql.connector.connect(user='user', password='password',
                              host='192.168.0.1', database='test')
cursor = cnx.cursor()

# 查询数据
starttime = time.time()
query = "SELECT * FROM table"
cursor.execute(query)
endtime = time.time()

# 输出查询结果和查询耗时
for row in cursor:
    print(row)
print("Query Time:", endtime - starttime)

# 关闭连接
cursor.close()
cnx.close()

Kami menjalankan kod pertanyaan di atas pada tiga pelayan hamba dan merekodkan masa pertanyaan adalah seperti yang ditunjukkan dalam jadual di bawah:

Pelayan hambaMasa pertanyaan (. saat)13.21923.3423 , kami berada di pelayan utama Hentikan replikasi, tanya pelayan hamba sekali lagi, dan rekod Pertanyaan memerlukan masa. Keputusan ditunjukkan dalam jadual berikut:
3

Masa pertanyaan (saat) daripada pelayan 11.2621.2623
1.278


Melalui perbandingan, boleh didapati bahawa dalam kes replikasi tuan-hamba, pertanyaan mengambil masa yang lama, kira-kira 3 saat secara purata. Apabila replikasi dihentikan, masa pertanyaan dikurangkan dengan ketara, dengan purata kira-kira 1 saat. Ini menunjukkan bahawa replikasi tuan-hamba mempunyai kesan tertentu terhadap prestasi pertanyaan.
  1. IV. Kesimpulan dan ringkasan
  2. Melalui hasil pengukuran sebenar dan perbandingan prestasi di atas, kesimpulan berikut boleh dibuat:
Replikasi hamba tuan SQL mempunyai kesan tertentu ke atas prestasi pertanyaan, dan replikasi tuan-hamba membawa kepada peningkatan dalam masa pertanyaan.

Apabila penyalinan dihentikan, prestasi pertanyaan dipertingkatkan dengan ketara dan masa pertanyaan dikurangkan. 🎜🎜🎜 Oleh itu, apabila mereka bentuk dan menggunakan penyelesaian replikasi tuan-hamba MySQL, adalah perlu untuk mempertimbangkan secara menyeluruh keperluan untuk sandaran data dan pengimbangan beban serta kesan prestasi pertanyaan. Dalam senario dengan keselarasan tinggi atau keperluan prestasi pertanyaan tinggi, anda boleh mempertimbangkan untuk mengoptimumkan prestasi pertanyaan dengan menghentikan replikasi atau menggunakan penyelesaian pengimbangan beban lain untuk meningkatkan daya pemprosesan sistem dan kelajuan tindak balas. 🎜

Atas ialah kandungan terperinci Kesan pengimbangan beban replikasi tuan-hamba MySQL: hasil pengukuran sebenar dan perbandingan prestasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn