PolarDB for MySQL menyediakan templat parameter berkinerja-tinggi yang telah mengonfigurasi parameter InnoDB utama untuk beban kerja intensif throughput. Terapkan templat ini ke kluster Anda guna meningkatkan kinerja tanpa perlu penyetelan parameter manual.
Parameter dalam templat
Setiap versi MySQL memiliki templat tersendiri dengan parameter spesifik versi tersebut. Tabel berikut mencantumkan parameter yang diubah oleh setiap templat beserta nilainya.
PolarDB for MySQL 5.6 (mysql_innodb_5.6_standard_high)
| Parameter | Deskripsi | Nilai templat | Nilai default |
|---|---|---|---|
innodb_flush_log_at_trx_commit | Mengontrol kapan InnoDB melakukan flush log transaksi ke disk. Diatur ke 0, InnoDB menulis dan melakukan flush log sekali per detik. | 0 | 1 |
query_cache_type | Mengaktifkan fitur Fast Query Cache, yang menyimpan cache hasil kueri untuk meningkatkan kinerja baca. | 1 | 0 |
PolarDB for MySQL 5.7 (mysql_innodb_5.7_standard_high)
| Parameter | Deskripsi | Nilai templat | Nilai default |
|---|---|---|---|
innodb_flush_log_at_trx_commit | Mengontrol kapan InnoDB melakukan flush log transaksi ke disk. Diatur ke 0, InnoDB menulis dan melakukan flush log sekali per detik. | 0 | 1 |
loose_innodb_primary_purge_max_id_lag | Menghapus batasan pada node primary yang diberlakukan oleh read view yang dipegang pada node read-only. | 18446744073709551104 | N/A |
PolarDB for MySQL 8.0 (mysql_innodb_8.0_standard_high)
| Parameter | Deskripsi | Nilai templat | Nilai default |
|---|---|---|---|
innodb_flush_log_at_trx_commit | Mengontrol kapan InnoDB melakukan flush log transaksi ke disk. Diatur ke 0, InnoDB menulis dan melakukan flush log sekali per detik. | 0 | 1 |
loose_innodb_lock_sys_rec_partition | Menetapkan jumlah shard yang digunakan untuk mengelola kunci transaksi (kunci baris dan kunci tabel). Lebih banyak shard mengurangi overhead kontensi akibat pengelolaan kunci transaksi. | 64 | 1 |
loose_query_cache_type | Mengaktifkan fitur Fast Query Cache, yang menyimpan cache hasil kueri untuk meningkatkan kinerja baca. | ON | OFF |
Batasan
Templat parameter berkinerja-tinggi hanya tersedia pada PolarDB Edisi Standar. Versi kluster berikut didukung:
PolarDB for MySQL 5.6: versi revisi 5.6.1.0.30 atau lebih baru
PolarDB for MySQL 5.7: versi revisi 5.7.1.0.11 atau lebih baru
PolarDB for MySQL 8.0.1: versi revisi 8.0.1.1.21 atau lebih baru
PolarDB for MySQL 8.0.2: versi revisi 8.0.2.2.6.1 atau lebih baru
Untuk memeriksa versi revisi kluster Anda, lihat Kueri versi engine.
Dampak potensial
Mengatur innodb_flush_log_at_trx_commit ke 0 meningkatkan throughput tulis tetapi menimbulkan dua kompromi:
Ketahanan data berkurang: Jika database crash, data yang belum ditulis ke disk dalam rentang satu detik dapat hilang karena log hanya di-flush ke disk sekali per detik.
Latensi replikasi meningkat: Latensi replikasi fisik primary/secondary dapat meningkat hingga satu detik karena alasan yang sama.
Untuk mempertahankan parameter templat lainnya sambil menghilangkan risiko ini, atur ulang innodb_flush_log_at_trx_commit ke 1 setelah menerapkan templat.
Sebelum menerapkan templat parameter berkinerja-tinggi, kirim tiket untuk berkonsultasi dengan tim teknis Alibaba Cloud.
Terapkan templat parameter berkinerja-tinggi
Penerapan templat memerlukan restart database. Selama restart, gangguan layanan singkat dapat terjadi. Terapkan templat selama jam sepi dan pastikan aplikasi Anda dikonfigurasi untuk terhubung ulang secara otomatis.
Tersedia dua metode. Keduanya memungkinkan Anda melihat pratinjau perbedaan parameter sebelum mengonfirmasi.
Metode 1: Terapkan dari halaman Templat Parameter
Login ke Konsol PolarDB.
Di pojok kiri atas, pilih wilayah tempat kluster dideploy.
Di panel navigasi sebelah kiri, klik Parameter Templates.
Klik System Parameter Templates.
Temukan templat untuk versi MySQL Anda —
mysql_innodb_5.6_standard_high,mysql_innodb_5.7_standard_high, ataumysql_innodb_8.0_standard_high— lalu klik Apply to Instance di kolom Actions.Di panel Apply to Instance, pilih kluster dan klik > untuk menambahkannya ke daftar Selected Instances. Bagian Parameter Comparison menampilkan perbedaan antara parameter kluster saat ini dan nilai templat.

Klik OK dan restart database agar perubahan diterapkan.
Metode 2: Terapkan dari halaman Parameters kluster
Login ke Konsol PolarDB.
Di pojok kiri atas, pilih wilayah tempat kluster dideploy.
Temukan kluster dan klik ID klusternya.
Di panel navigasi sebelah kiri, pilih Settings and Management > Parameters.
Klik Apply Template.

Di halaman Apply Template, pilih templat berkinerja-tinggi dari daftar drop-down Template Name. Bagian Parameter Comparison menampilkan perbedaan antara parameter kluster saat ini dan nilai templat.

Klik OK dan restart database agar perubahan diterapkan.
Perbandingan kinerja
Hasil berikut membandingkan parameter default dengan templat berkinerja-tinggi pada kluster PolarDB for MySQL 8.0, menggunakan benchmark Sysbench dan TPC-C (Transaction Processing Performance Council).
Test environment:
Kluster: 88 core, memori 720 GB, versi revisi 8.0.1.1.21 atau lebih baru
Latensi jaringan ECS-ke-kluster: sekitar 1 ms; Instance ECS dengan sumber daya komputasi dan jaringan yang memadai
Pengujian Sysbench:
Set pengujian:
read_writedanwrite_onlyVolume data: 25 tabel × 25.000 baris
Metrik: QPS (queries per second) — jumlah pernyataan SQL (INSERT, SELECT, UPDATE, DELETE) yang dieksekusi per detik pada koneksi bersamaan sebanyak 1, 8, 16, 32, 64, 128, 256, 512, dan 1.024
Pengujian TPC-C:
Alat: TPCC-MySQL
Volume data: 1.000 gudang
Metrik: TPM (transactions per minute) — jumlah transaksi yang dikomit per menit, mengukur maximum qualified throughput (MQTh), pada koneksi bersamaan sebanyak 1, 8, 16, 32, 64, 128, 256, 512, dan 1.024
Pengujian TPC-C ini didasarkan pada metodologi benchmark TPC-C tetapi tidak memenuhi semua persyaratan benchmark TPC-C. Hasil ini tidak dapat dibandingkan dengan hasil benchmark TPC-C yang dipublikasikan.
Hasil Sysbench:

Hasil TPC-C:

Conclusion: Pada 256 koneksi bersamaan atau lebih, templat parameter berkinerja-tinggi meningkatkan kinerja hingga dua kali lipat atau lebih.
Langkah selanjutnya
Fast Query Cache — pelajari cara kerja fitur Fast Query Cache dan cara mengonfigurasinya
Kueri versi engine — verifikasi bahwa kluster Anda memenuhi persyaratan versi minimum