Tempah Konsultasi Hantar Tiket

Prestasi Sandaran dan Pemulihan MySQL vs PostgreSQL: Panduan Praktikal

Mendalami prestasi sandaran dan pemulihan MySQL dan PostgreSQL, termasuk diagnosis, pengoptimuman, kawalan risiko, dan bila perlu mengemukakan tiket OpsGlobal.

Prestasi Sandaran dan Pemulihan MySQL vs PostgreSQL: Panduan Praktikal
Database 6min 6 paparan 2026-06-20
MySQLPostgreSQLSandaranPemulihanPrestasiSREOpsGlobal

Senario

Syarikat SaaS hendak memindahkan pangkalan data 500GB dari premis ke awan dalam masa 2 jam. Sandaran MySQL 8.0 (InnoDB) menggunakan mysqldump mengambil >3 jam, pemulihan tidak menentu. Sandaran PostgreSQL 15 dengan pg_dump mengambil 2.8 jam, pemulihan melampaui 4 jam. Melanggar SLA.

Gejala

  • MySQL: Sandaran mysqldump 3.5 jam, pemulihan 4 jam; Sandaran XtraBackup 1.5 jam, tetapi pemulihan menyebabkan I/O cakera tinggi mengganggu aplikasi.
  • PostgreSQL: Sandaran pg_dump 2.8 jam, pemulihan lambat akibat main semula WAL; Sandaran pg_basebackup 1.2 jam, tetapi pemulihan perlu main WAL secara manual.

Diagnosis

MySQL

  1. Bottleneck sandaran: Semak jika mysqldump menggunakan --single-transaction (elak kunci jadual) dan --quick (baris demi baris). Gunakan perf top untuk kenal pasti CPU dibelanjakan untuk mampatan (gzip lalai).
  2. Bottleneck pemulihan: Tunggu I/O tinggi akibat pelaksanaan satu thread mysql < dump.sql dan cakera tidak berjalur.

PostgreSQL

  1. Sandaran: pg_dump lalai serial; gunakan -j untuk selari. Semak shared_buffers dan work_mem.
  2. Pemulihan: pg_restore juga serial; tentukan -j. Arkib WAL tidak betul menyebabkan main semula WAL berlebihan.

Arahan

Sandaran Cepat MySQL dengan XtraBackup

xtrabackup --backup --parallel=4 --compress --compress-threads=4 --target-dir=/backup/mysql/full

Pemulihan MySQL

xtrabackup --prepare --target-dir=/backup/mysql/full
xtrabackup --copy-back --target-dir=/backup/mysql/full

Sandaran Selari PostgreSQL

pg_dump -j 4 -Fd -f /backup/pg/dump mydb

Pemulihan Selari PostgreSQL

pg_restore -j 4 -d mydb /backup/pg/dump

Kawalan Risiko

  • Periksa ruang cakera sebelum sandaran untuk elak isian penuh.
  • Gunakan --single-transaction atau --lock-wait-timeout pada pengeluaran untuk elak menunggu lama.
  • Jangan terus pulihkan ke pengeluaran; uji pada contoh pementasan dahulu.
  • Buat checksum fail sandaran dan lakukan latihan pemulihan berkala.

Penggulungan

  • Jika sandaran gagal, segera guna sandaran terakhir yang berjaya.
  • MySQL: Guna sandaran inkremental XtraBackup (--incremental-basedir) untuk gulung balik.
  • PostgreSQL: Guna PITR untuk pulih ke titik masa tertentu.

Pengesahan

  1. Jalankan checksum aras jadual: MySQL: CHECKSUM TABLE table_name; PostgreSQL: Guna pg_surgery (berhati-hati) atau alat pengesahan hash tersuai.
  2. Jalankan pertanyaan penting, banding kiraan baris dan ringkasan perniagaan.
  3. Pantau log aplikasi untuk ralat kunci pendua atau data hilang.

Bila Kemukakan Tiket OpsGlobal

  • Tempoh sandaran secara konsisten melebihi tetingkap >50%.
  • Pemulihan gagal atau ketidakselarasan data tidak dapat diselesaikan secara dalaman.
  • Perlu tala strategi sandaran (algoritma mampatan, selari, dsb.).
  • Bottleneck I/O cakera atau rangkaian menjejaskan beban kerja lain dan memerlukan sokongan infrastruktur.

Panduan ini hanya rujukan teknikal. Sentiasa ikut proses pengurusan perubahan anda. Untuk bantuan pakar, hubungi OpsGlobal.

Senario Penggunaan

Sesuai untuk pasukan yang menyelesaikan isu Database dan memerlukan aliran kerja yang jelas.

Latar Belakang Masalah

Mendalami prestasi sandaran dan pemulihan MySQL dan PostgreSQL, termasuk diagnosis, pengoptimuman, kawalan risiko, dan bila perlu mengemukakan tiket OpsGlobal.

Langkah Penyelesaian

Sahkan impak dan perubahan terkini, kumpul log, konfigurasi dan metrik, kemudian baiki mengikut risiko.

Contoh Arahan

Gantikan contoh dengan nama sumber sebenar dan simpan kata laluan, token atau kunci dalam pembolehubah persekitaran.

Risiko

Sebelum operasi produksi, semak sandaran, akses, tetingkap perubahan dan pelan rollback.

Pelan Rollback

Simpan konfigurasi dan versi asal; rollback konfigurasi, imej atau perubahan pangkalan data jika metrik tidak normal.

Senarai Serahan

Rekod punca isu, arahan penting, langkah pembaikan, hasil pengesahan dan cadangan susulan.

!

Perlu bantuan isu teknikal serupa?

Jika pelayan, Kubernetes, Docker, CI/CD, pangkalan data atau pemantauan anda bermasalah, hantar log dan konfigurasi untuk diagnosis jauh.

Tiket Hubungi WhatsApp Konsultasi