Tempah Konsultasi Hantar Tiket

Optimum Prestasi Sandaran dan Pemulihan untuk MySQL dan PostgreSQL

Panduan praktikal untuk mendiagnosis dan meningkatkan prestasi sandaran/pemulihan MySQL dan PostgreSQL, termasuk arahan, kawalan risiko, dan strategi rollback untuk pasukan SRE.

Optimum Prestasi Sandaran dan Pemulihan untuk MySQL dan PostgreSQL
Database 6min 31 paparan 2026-07-14
MySQLPostgreSQLSandaran PemulihanPengoptimuman PrestasiSRE

Senario

Sebuah platform e-dagang menggunakan MySQL (500GB) dan PostgreSQL (300GB). Sandaran penuh mengambil masa 6 jam, pemulihan 8 jam, melebihi SLA (RTO<4j, RPO<1j).

Gejala

  • CPU 100%, I/O menunggu >50% semasa sandaran.
  • Tulis MySQL terhalang akibat kunci jadual.
  • pg_dump PostgreSQL perlahan, arkib WAL tertangguh.
  • Pemulihan mengambil 70% masa pada main semula log redo.

Diagnosis

MySQL

  • SHOW GLOBAL STATUS LIKE 'Innodb_rows_inserted'; periksa kesan tulis.
  • iostat -x 1 pantau latensi cakera.
  • Kaji arahan sandaran: lebih suka --single-transaction --compress --quick.

PostgreSQL

  • pg_stat_activity kenal pasti sesi menunggu.
  • pg_statio_user_tables periksa kecekapan cache.
  • pg_waldump analisis pertumbuhan WAL.

Arahan Pengoptimuman

MySQL

  • Sandaran fizikal: xtrabackup --backup --parallel=4 --compress --compress-threads=4 --target-dir=/backup.
  • Tingkatkan innodb_buffer_pool_size kepada 70% RAM.

PostgreSQL

  • Sandaran strim: pg_basebackup -D /backup -X stream -P -v -z -Z 9 --wal-method=stream.
  • Laraskan max_wal_senders dan wal_keep_segments.

Kawalan Risiko

  • Gunakan --single-transaction untuk konsistensi InnoDB tanpa kunci.
  • Untuk MySQL, nyahaktif --lock-tables jika sudah menggunakan transaksi.
  • Uji pemulihan bulanan dalam persekitaran kotak pasir.

Rollback

  • Sandaran inkremental: xtrabackup --incremental-basedir; PostgreSQL pg_basebackup dengan slot replikasi.
  • Sediakan skrip PITR: mysqlbinlog untuk MySQL; pg_restore --time untuk PostgreSQL.

Pengesahan

  • Selepas pemulihan, jalankan pt-table-checksum (MySQL) atau pg_verify_checksums (PostgreSQL).
  • Ukur RTO sebenar dengan simulasi kegagalan.

Bila Hantar Tiket OpsGlobal

  • Sandaran secara konsisten melebihi SLA walaupun telah ditala.
  • Latihan pemulihan gagal; perlukan bantuan pakar.
  • Isu rantaian sandaran inkremental yang kompleks.

Senario Penggunaan

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

Latar Belakang Masalah

Panduan praktikal untuk mendiagnosis dan meningkatkan prestasi sandaran/pemulihan MySQL dan PostgreSQL, termasuk arahan, kawalan risiko, dan strategi rollback untuk pasukan SRE.

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