Memigrasikan MySQL lokal ke Azure Database for MySQL: Optimisasi

BERLAKU UNTUK: Azure Database for MySQL - Server Tunggal Azure Database for MySQL - Server Fleksibel

Prasyarat

Manajemen pasca-migrasi

Memantau performa perangkat keras dan kueri

Selain audit dan log aktivitas, performa server juga dapat dipantau dengan Metrik Azure. Metrik Azure disediakan dalam frekuensi satu menit dan pemberitahuan dapat dikonfigurasi darinya. Untuk informasi selengkapnya, lihat Pemantauan di Azure Database for MySQL untuk mengetahui secara spesifik jenis metrik yang dapat dipantau.

Seperti disebutkan sebelumnya, metrik pemantauan seperti cpu_persen atau memori_persen dapat menjadi penting saat memutuskan untuk meningkatkan tingkat database. Nilai yang tinggi secara konsisten dapat mengindikasikan perlunya kenaikan tingkat.

Selain itu, jika cpu dan memori tampaknya tidak menjadi masalah, administrator dapat menjelajahi opsi berbasis database seperti pengindeksan dan modifikasi kueri untuk kueri berperforma buruk.

Untuk menemukan kueri berperforma buruk, jalankan yang berikut ini:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DBFORMYSQL"
| where Category == 'MySqlSlowLogs'
| project TimeGenerated, LogicalServerName\_s, 
event\_class\_s, start\_time\_t , q uery\_time\_d, 
sql\_text\_s| top 5 by query\_time\_d desc

Wawasan Performa Kueri

Selain aspek pemantauan server dasar, Azure menyediakan alat untuk memantau performa kueri aplikasi. Memperbaiki atau meningkatkan kueri dapat menyebabkan peningkatan yang signifikan dalam throughput kueri. Gunakan alat Wawasan Performa Kueri untuk menganalisis kueri yang berjalan paling lama dan menentukan apakah item tersebut dapat di-cache jika bersifat deterministik dalam periode yang ditetapkan, atau memodifikasi kueri untuk meningkatkan performanya.

slow\_query\_log dapat diatur untuk menampilkan kueri lambat di file log MySQL (default adalah NONAKTIF). Parameter server long\_query\_time dapat mengingatkan pengguna untuk waktu kueri yang lama (defaultnya adalah 10 detik).

Meningkatkan tingkatan

portal Azure dapat digunakan untuk menskalakan antara dari General Purpose dan Memory Optimized. Jika tingkat Basic dipilih, tidak ada opsi untuk meningkatkan tingkat ke General Purpose atau Memory Optimized nantinya. Namun, dimungkinkan untuk menggunakan teknik lain untuk melakukan migrasi/peningkatan ke instans Azure Database for MySQL baru.

Untuk contoh skrip yang bermigrasi dari tingkat server dasar ke tingkat server lain, lihat Tingkatkan dari tingkat Dasar ke Serba Guna atau Optimal Memori di Azure Database for MySQL.

Menskalakan server

Dalam tingkatan, dimungkinkan untuk menskalakan inti dan memori ke batas minimum dan maksimum yang diizinkan di tingkat tersebut. Jika pemantauan menunjukkan pemaksimalan CPU atau memori terus-menerus, ikuti langkah-langkah untuk menaikkan skala untuk memenuhi permintaan Anda.

Memindahkan wilayah

Memindahkan database ke wilayah Azure yang berbeda bergantung pada pendekatan dan arsitekturnya. Bergantung pada pendekatannya, ini dapat menyebabkan waktu henti sistem.

Proses yang direkomendasikan sama dengan menggunakan replika baca untuk kegagalan pemeliharaan. Namun, dibandingkan dengan metode pemeliharaan terencana yang disebutkan di atas, kecepatan untuk melakukan kegagalan jauh lebih cepat ketika lapisan kegagalan telah diimplementasikan dalam aplikasi. Aplikasi hanya boleh tidak berfungsi selama beberapa saat selama proses kegagalan replika baca. Detail lebih lanjut tercakup di bagian Kelangsungan Bisnis dan Pemulihan Bencana.

Skenario WWI

Pengguna bisnis dan aplikasi WWI mengungkapkan tingkat kegembiraan yang tinggi terkait kemampuan untuk menskalakan database sesuai permintaan. Mereka juga tertarik menggunakan Wawasan Performa Kueri untuk menentukan apakah performa kueri yang berjalan lama perlu ditangani.

Mereka memilih untuk menggunakan server replika baca untuk setiap potensi kegagalan atau skenario yang diperlukan hanya-baca.

Tim migrasi, bekerja dengan para insinyur Azure, menyiapkan kueri KQL untuk memantau setiap potensi masalah terkait performa server MySQL. Kueri KQY disiapkan dengan pemberitahuan untuk mengirim email masalah peristiwa ke database dan tim konferensi.

Mereka memilih untuk memantau setiap potensi masalah untuk saat ini dan menerapkan buku yang dijalankan Azure Automation di lain waktu, jika diperlukan, untuk meningkatkan efisiensi operasional.

Daftar periksa pengoptimalan

  • Memantau kueri yang lambat.

  • Tinjau dasbor Wawasan Performa secara berkala.

  • Manfaatkan pemantauan untuk mendorong peningkatan tingkat dan keputusan skala.

  • Pertimbangkan untuk memindahkan wilayah pengguna atau aplikasi yang membutuhkan perubahan.

Langkah berikutnya