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 1pantau latensi cakera.- Kaji arahan sandaran: lebih suka
--single-transaction --compress --quick.
PostgreSQL
pg_stat_activitykenal pasti sesi menunggu.pg_statio_user_tablesperiksa kecekapan cache.pg_waldumpanalisis pertumbuhan WAL.
Arahan Pengoptimuman
MySQL
- Sandaran fizikal:
xtrabackup --backup --parallel=4 --compress --compress-threads=4 --target-dir=/backup. - Tingkatkan
innodb_buffer_pool_sizekepada 70% RAM.
PostgreSQL
- Sandaran strim:
pg_basebackup -D /backup -X stream -P -v -z -Z 9 --wal-method=stream. - Laraskan
max_wal_sendersdanwal_keep_segments.
Kawalan Risiko
- Gunakan
--single-transactionuntuk konsistensi InnoDB tanpa kunci. - Untuk MySQL, nyahaktif
--lock-tablesjika sudah menggunakan transaksi. - Uji pemulihan bulanan dalam persekitaran kotak pasir.
Rollback
- Sandaran inkremental: xtrabackup
--incremental-basedir; PostgreSQLpg_basebackupdengan slot replikasi. - Sediakan skrip PITR:
mysqlbinloguntuk MySQL;pg_restore --timeuntuk PostgreSQL.
Pengesahan
- Selepas pemulihan, jalankan
pt-table-checksum(MySQL) ataupg_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.