Mengelola performa dan penskalaan untuk Amazon Aurora MySQL - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengelola performa dan penskalaan untuk Amazon Aurora MySQL

Penskalaan instans DB Aurora MySQL

Anda dapat menskalakan instans DB Aurora MySQL dengan dua cara, penskalaan instans dan penskalaan baca. Untuk informasi selengkapnya tentang penskalaan baca, lihat Penskalaan baca.

Anda dapat menskalakan klaster DB Aurora MySQL Anda dengan mengubah kelas instans DB untuk setiap instans DB dalam klaster DB. Aurora MySQL mendukung beberapa kelas instans DB yang dioptimalkan untuk Aurora. Jangan gunakan kelas instans db.t2 atau db.t3 untuk klaster Aurora yang berukuran lebih dari 40 TB. Untuk spesifikasi kelas instans DB yang didukung Aurora MySQL, lihat Kelas instans Amazon Aurora DB.

catatan

Kami menyarankan penggunaan kelas instans DB T hanya untuk server pengembangan dan pengujian, atau server non-produksi lainnya. Untuk detail selengkapnya tentang kelas instans T, lihat Menggunakan kelas instans T untuk pengembangan dan pengujian.

Koneksi maksimum ke instans DB Aurora MySQL

Jumlah maksimum koneksi yang diizinkan untuk instans DB Aurora MySQL ditentukan oleh parameter max_connections dalam grup parameter tingkat instans untuk instans DB.

Tabel berikut mencantumkan nilai default yang dihasilkan berupa max_connections untuk setiap kelas instans DB yang tersedia untuk Aurora MySQL. Anda dapat meningkatkan jumlah maksimum koneksi ke instans DB Aurora MySQL Anda dengan menaikkan skala instans ke kelas instans DB dengan lebih banyak memori, atau dengan menetapkan nilai yang lebih besar untuk parameter max_connections di grup parameter DB untuk instans Anda, hingga 16.000.

Tip

Jika aplikasi Anda sering membuka dan menutup koneksi, atau membiarkan sejumlah besar koneksi yang lama aktif tetap terbuka, kami menyarankan agar Anda menggunakan Proksi Amazon RDS. Proksi RDS adalah proksi basis data yang sepenuhnya terkelola dengan ketersediaan tinggi yang menggunakan pooling koneksi untuk berbagi koneksi basis data dengan aman dan efisien. Untuk mempelajari tentang Proksi RDS, lihat Proksi Amazon RDS untuk Aurora.

Untuk detail tentang cara instans Aurora Serverless v2 menangani parameter ini, lihat Koneksi maksimum untuk Aurora Serverless v2.

Kelas instans Nilai default max_connections

db.t2.small

45

db.t2.medium

90

db.t3.small

45

db.t3.medium

90

db.t3.large

135

db.t4g.medium

90

db.t4g.large

135

db.r3.large

1000

db.r3.xlarge

2000

db.r3.2xlarge

3000

db.r3.4xlarge

4000

db.r3.8xlarge

5000

db.r4.large

1000

db.r4.xlarge

2000

db.r4.2xlarge

3000

db.r4.4xlarge

4000

db.r4.8xlarge

5000

db.r4.16xlarge

6000

db.r5.large

1000

db.r5.xlarge

2000

db.r5.2xlarge

3000

db.r5.4xlarge

4000

db.r5.8xlarge

5000

db.r5.12xlarge

6000

db.r5.16xlarge

6000

db.r5.24xlarge

7000

db.r6g.large 1000
db.r6g.xlarge 2000
db.r6g.2xlarge 3000
db.r6g.4xlarge 4000
db.r6g.8xlarge 5000
db.r6g.12xlarge 6000
db.r6g.16xlarge 6000
db.r6i.large 1000
db.r6i.xlarge 2000
db.r6i.2xlarge 3000
db.r6i.4xlarge 4000
db.r6i.8xlarge 5000
db.r6i.12xlarge 6000
db.r6i.16xlarge 6000
db.r6i.24xlarge 7000
db.r6i.32xlarge 7000
db.r7g.large 1000
db.r7g.xlarge 2000
db.r7g.2xlarge 3000
db.r7g.4xlarge 4000
db.r7g.8xlarge 5000
db.r7g.12xlarge 6000
db.r7g.16xlarge 6000
db.r7i.large 1000
db.r7i.xlarge 2000
db.r7i.2xlarge 3000
db.r7i.4xlarge 4000
db.r7i.8xlarge 5000
db.r7i.12xlarge 6000
db.r7i.16xlarge 6000
db.r7i.24xlarge 7000
db.r7i.48xlarge 8000
db.r8g.large 1000
db.r8g.xlarge 2000
db.r8g.2xlarge 3000
db.r8g.4xlarge 4000
db.r8g.8xlarge 5000
db.r8g.12xlarge 6000
db.r8g.16xlarge 6000
db.r8g.24xlarge 7000
db.r8g.48xlarge 8000
db.x2g.large 2000
db.x2g.xlarge 3000
db.x2g.2xlarge 4000
db.x2g.4xlarge 5000
db.x2g.8xlarge 6000
db.x2g.12xlarge 7000
db.x2g.16xlarge 7000
Tip

Perhitungan max_connections parameter menggunakan basis log 2 (berbeda dari logaritma natural) dan DBInstanceClassMemory nilai dalam byte untuk kelas instance Aurora MySQL yang dipilih. Parameter hanya menerima nilai integer, dengan bagian desimal terpotong dari perhitungan. Rumus mengimplementasikan batas koneksi sebagai berikut:

  • Peningkatan koneksi 1000 untuk instans R3, R4, dan R5 yang lebih besar

  • 45 peningkatan koneksi untuk varian memori instans T2 dan T3

Contoh: Untuk db.r6g.large, sedangkan rumus menghitung 1069.2, sistem mengimplementasikan 1000 untuk mempertahankan pola inkremental yang konsisten.

Jika Anda membuat grup parameter baru untuk menyesuaikan nilai default Anda sendiri untuk batas koneksi, Anda akan melihat bahwa batas koneksi default akan diperoleh menggunakan formula berdasarkan nilai DBInstanceClassMemory. Seperti ditunjukkan dalam tabel sebelumnya, rumus ini menghasilkan batas koneksi yang bertambah sebanyak 1000 saat memorinya berlipat ganda antara instans R3, R4, dan R5 yang makin besar, dan sebanyak 45 untuk ukuran memori yang berbeda-beda pada instans T2 dan T3.

Lihat Menentukan parameter DB untuk detail selengkapnya tentang cara DBInstanceClassMemory dihitung.

instans DB Aurora MySQL dan RDS for MySQL memiliki jumlah overhead memori yang berbeda. Oleh karena itu, nilai max_connections dapat berbeda untuk instans DB Aurora MySQL dan RDS for MySQL yang menggunakan kelas instans yang sama. Nilai-nilai dalam tabel ini hanya berlaku untuk instans DB Aurora MySQL.

catatan

Batas konektivitas untuk instans T2 dan T3 jauh lebih rendah karena dengan Aurora, kelas instans tersebut hanya ditujukan untuk skenario pengembangan dan pengujian, bukan untuk beban kerja produksi.

Batas koneksi default disesuaikan untuk sistem yang menggunakan nilai default untuk pemakai memori besar lainnya, seperti pool buffer dan cache kueri. Jika Anda mengubah pengaturan lain tersebut untuk klaster Anda, pertimbangkan untuk menyesuaikan batas koneksi agar memperhitungkan peningkatan atau penurunan memori yang tersedia pada instans DB.

Batas penyimpanan sementara untuk Aurora MySQL

Aurora MySQL menyimpan tabel dan indeks dalam subsistem penyimpanan Aurora. Aurora MySQL menggunakan penyimpanan sementara atau lokal terpisah untuk file sementara nonpersisten dan tabel sementara non-InnoDB. Penyimpanan lokal juga mencakup file yang digunakan untuk tujuan seperti mengurutkan set data besar selama pemrosesan kueri atau untuk operasi pembuatan indeks. Itu tidak termasuk tabel sementara InnoDB.

Untuk informasi selengkapnya tentang tabel sementara di Aurora MySQL versi 3, lihat Perilaku tabel sementara baru di Aurora MySQL versi 3. Untuk informasi selengkapnya tentang tabel sementara di versi 2, lihat Perilaku tablespace sementara di Aurora Versi saya 2 SQL.

Data dan file sementara pada volume ini hilang saat memulai dan menghentikan instans DB, dan selama penggantian host.

Volume penyimpanan lokal ini didukung oleh Amazon Elastic Block Store (EBS) dan dapat diperluas dengan menggunakan kelas instans DB yang lebih besar. Untuk informasi selengkapnya tentang penyimpanan, lihat Penyimpanan Amazon Aurora.

Penyimpanan lokal juga digunakan untuk mengimpor data dari Amazon S3 LOAD DATA FROM S3 menggunakan LOAD XML FROM S3 atau, dan untuk mengekspor data ke S3 menggunakan SELECT INTO OUTFILE S3. Untuk informasi lebih lanjut tentang mengimpor dari dan mengekspor ke S3, lihat berikut ini:

Aurora MySQL menggunakan penyimpanan permanen terpisah untuk log kesalahan, log umum, log kueri lambat, dan log audit untuk sebagian besar kelas instans Aurora MySQL DB (tidak termasuk tipe kelas instance berkinerja burstable seperti db.t2, db.t3, dan db.t4g). Data pada volume ini dipertahankan saat memulai dan menghentikan instans DB, dan selama penggantian host.

Volume penyimpanan permanen ini juga didukung oleh Amazon EBS dan memiliki ukuran tetap sesuai dengan kelas instans DB. Itu tidak dapat diperpanjang dengan menggunakan kelas instans DB yang lebih besar.

Tabel berikut menunjukkan jumlah maksimum penyimpanan sementara dan permanen yang tersedia untuk setiap kelas instans MySQL Aurora MySQL DB. Untuk informasi selengkapnya tentang dukungan kelas instans DB untuk Aurora, lihat Kelas instans Amazon Aurora DB.

Kelas instans DB temporary/local Penyimpanan maksimum yang tersedia (GiB) Penyimpanan maksimum tambahan tersedia untuk file log (GiB)
db.x2g.16xlarge 1280 500
db.x2g.12xlarge 960 500
db.x2g.8xlarge 640 500
db.x2g.4xlarge 320 500
db.x2g.2xlarge 160 60
db.x2g.xlarge 80 60
db.x2g.large 40 60
db.r8g.48xlarge 3840 500
db.r8g.24xlarge 1920 500
db.r8g.16xlarge 1280 500
db.r8g.12xlarge 960 500
db.r8g.8xlarge 640 500
db.r8g.4xlarge 320 500
db.r8g.2xlarge 160 60
db.r8g.xlarge 80 60
db.r8g.large 32 60
db.r7i.48xlarge 3840 500
db.r7i.24xlarge 1920 500
db.r7i.16xlarge 1280 500
db.r7i.12xlarge 960 500
db.r7i.8xlarge 640 500
db.r7i.4xlarge 320 500
db.r7i.2xlarge 160 60
db.r7i.xlarge 80 60
db.r7i.large 32 60
db.r7g.16xlarge 1280 500
db.r7g.12xlarge 960 500
db.r7g.8xlarge 640 500
db.r7g.4xlarge 320 500
db.r7g.2xlarge 160 60
db.r7g.xlarge 80 60
db.r7g.large 32 60
db.r6i.32xlarge 2560 500
db.r6i.24xlarge 1920 500
db.r6i.16xlarge 1280 500
db.r6i.12xlarge 960 500
db.r6i.8xlarge 640 500
db.r6i.4xlarge 320 500
db.r6i.2xlarge 160 60
db.r6i.xlarge 80 60
db.r6i.large 32 60
db.r6g.16xlarge 1280 500
db.r6g.12xlarge 960 500
db.r6g.8xlarge 640 500
db.r6g.4xlarge 320 500
db.r6g.2xlarge 160 60
db.r6g.xlarge 80 60
db.r6g.large 32 60
db.r5.24xlarge 1920 500
db.r5.16xlarge 1280 500
db.r5.12xlarge 960 500
db.r5.8xlarge 640 500
db.r5.4xlarge 320 500
db.r5.2xlarge 160 60
db.r5.xlarge 80 60
db.r5.large 32 60
db.r4.16xlarge 1280 500
db.r4.8xlarge 640 500
db.r4.4xlarge 320 500
db.r4.2xlarge 160 60
db.r4.xlarge 80 60
db.r4.large 32 60
db.t4g.large 32
db.t4g.medium 32
db.t3.large 32
db.t3.medium 32
db.t3.small 32
db.t2.medium 32
db.t2.small 32
penting

Nilai-nilai ini merepresentasikan jumlah maksimum teoretis penyimpanan kosong di setiap instans DB. Penyimpanan lokal sebenarnya yang tersedia untuk Anda mungkin lebih rendah. Aurora menggunakan beberapa penyimpanan lokal untuk proses manajemennya, dan instans DB menggunakan beberapa penyimpanan lokal bahkan sebelum Anda memuat data apa pun. Anda dapat memantau penyimpanan sementara yang tersedia untuk instans DB tertentu dengan FreeLocalStorage CloudWatch metrik, yang dijelaskan dalam CloudWatch Metrik Amazon untuk Amazon Aurora. Anda dapat memeriksa jumlah penyimpanan kosong saat ini. Anda juga dapat memetakan jumlah penyimpanan kosong dari waktu ke waktu. Memantau penyimpanan kosong dari waktu ke waktu membantu Anda menentukan apakah nilainya meningkat atau menurun, atau untuk menemukan nilai minimum, maksimum, atau rata-rata.

(Hal ini tidak berlaku untuk Aurora Serverless v2.)