Tempah Konsultasi Hantar Tiket

Mengoptimumkan Prestasi Sandaran dan Pemulihan MySQL dan PostgreSQL dalam Pengeluaran

Terokai kesesakan prestasi dalam operasi sandaran/pemulihan MySQL dan PostgreSQL, termasuk gejala, alat diagnostik, parameter penalaan dan amalan terbaik untuk membantu pasukan SRE meningkatkan kecekapan operasi pangkalan data.

Mengoptimumkan Prestasi Sandaran dan Pemulihan MySQL dan PostgreSQL dalam Pengeluaran
Database 6min 46 paparan 2026-06-24
MySQLPostgreSQLsandaranpemulihanpenalaan prestasi

Senario

Sebuah platform e-dagang menggunakan pangkalan data PostgreSQL 2TB dan MySQL 500GB. Pekerjaan sandaran mengambil masa berjam-jam dan RTO sering dilampaui. Semasa sandaran, respons pangkalan data menjadi perlahan, menjejaskan perniagaan.

Gejala

  • Tempoh sandaran meningkat secara berterusan dari 30 minit hingga 2 jam.
  • Pemantauan sistem menunjukkan I/O cakera menunggu pada 90% semasa sandaran.
  • Latihan pemulihan dari sandaran penuh mengambil masa lebih lama daripada RTO yang ditetapkan (4 jam) untuk data 1TB.

Diagnosis

PostgreSQL

  • Semak ketinggalan WAL menggunakan pg_stat_replication.
  • Semak statistik titik semak dalam pg_stat_bgwriter.
  • Pantau I/O dengan htop atau iostat.

MySQL

  • Gunakan SHOW ENGINE INNODB STATUS\G untuk memeriksa nombor jujukan log (LSN) dan titik semak.
  • Gunakan performance_schema.file_summary_by_instance untuk mengenal pasti fail I/O tinggi.

Arahan dan Parameter Penalaan

Pengoptimuman Sandaran PostgreSQL

# Gunakan pg_basebackup dengan mampatan dan pekerja berbilang
pg_basebackup -h localhost -U replicator -D /backup -Ft -z -P --wal-method=stream --compress=9 --workers=4 --max-rate=100M

Pelarasan parameter dalam postgresql.conf: - wal_compression = on - checkpoint_completion_target = 0.9 - max_wal_senders = 10

Pengoptimuman Sandaran MySQL

# Gunakan Percona XtraBackup dengan utas selari
xtrabackup --backup --target-dir=/backup --parallel=4 --compress --compress-threads=4

Pelarasan parameter dalam my.cnf: - Tetapkan innodb_buffer_pool_size kepada 70% memori fizikal untuk mengelakkan I/O yang tidak menentu. - Tingkatkan innodb_log_file_size kepada 4GB untuk mengurangkan pertukaran log. - Tala innodb_io_capacity untuk memadankan prestasi cakera.

Kawalan Risiko

  • Sentiasa membuat sandaran dari replika untuk mengelakkan beban utama.
  • Gunakan ionice atau cgroups untuk mengawal keutamaan I/O sandaran.
  • Pastikan sumber sistem (CPU, memori, cakera) mempunyai sekurang-kurangnya 20% ruang kosong sebelum sandaran.

Pengembalian dan Pengesahan

Pengembalian

Jika sandaran gagal atau rosak, hentikan segera dan bersihkan fail sementara. Pulihkan dari sandaran penuh terakhir yang baik:

# PostgreSQL
pg_ctl start -D /data -o '-P 1' # masuki mod pemulihan luar talian
# MySQL
systemctl stop mysql
cp -r /backup/latest /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
systemctl start mysql

Pengesahan

  • Jalankan pemeriksaan integriti data: pg_checksums -c -D /data (PG); mysqlcheck -A (MySQL).
  • Laksanakan pertanyaan asas untuk mengesahkan masa tindak balas.

Bila Hantar Tiket OpsGlobal

  • Persekitaran dengan awan hibrid atau topologi rangkaian kompleks di mana lebar jalur sandaran tidak dapat dioptimumkan secara praktikal.
  • Saiz pangkalan data melebihi 5TB dan alat semasa tidak dapat memenuhi RTO.
  • Ketidakseragaman data atau kegagalan berulang semasa sandaran/pemulihan memerlukan analisis forensik pakar.

OpsGlobal menawarkan sokongan SRE jarak jauh 24/7 untuk membantu anda mereka bentuk strategi sandaran yang cekap dan menyelesaikan kesesakan prestasi.

Senario Penggunaan

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

Latar Belakang Masalah

Terokai kesesakan prestasi dalam operasi sandaran/pemulihan MySQL dan PostgreSQL, termasuk gejala, alat diagnostik, parameter penalaan dan amalan terbaik untuk membantu pasukan SRE meningkatkan kecekapan operasi pangkalan data.

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