All Products
Search
Document Center

ApsaraDB RDS:Kolam thread

Last Updated:May 13, 2026

Untuk memaksimalkan kinerja ApsaraDB for RDS, Alibaba Cloud menyediakan kolam thread. Fitur ini memisahkan thread dari sesi sehingga sejumlah kecil thread dapat menangani tugas untuk banyak sesi aktif.

Manfaat

Model koneksi MySQL bawaan menggunakan pendekatan one-thread-per-session. Ketika banyak sesi terhubung, model ini dapat menyebabkan konflik sumber daya yang signifikan. Overhead dari penjadwalan thread sistem dan invalidasi cache yang sering terjadi dapat mengakibatkan penurunan kinerja yang tajam.

Kolam thread pada ApsaraDB for RDS menerapkan mekanisme prioritas dan kontrol konkurensi untuk berbagai jenis operasi SQL. Kolam ini menjaga jumlah thread konkuren pada tingkat optimal, sehingga memastikan kinerja tinggi bahkan di bawah beban kerja dengan tingkat konkurensi tinggi. Manfaat utama kolam thread meliputi:

  • Pada kondisi konkurensi tinggi, kolam thread menjaga jumlah thread aktif dalam rentang optimal, sehingga mengurangi penjadwalan thread berlebihan dan invalidasi cache.
  • Untuk transaksi konkuren, kolam thread mengurangi konflik sumber daya dengan memberikan prioritas berbeda pada pernyataan SQL dan transaksi serta mengontrol tingkat konkurensinya.
  • Kolam thread memberikan prioritas lebih tinggi pada pernyataan SQL administratif, sehingga memastikan operasi seperti pembuatan koneksi baru, management, dan monitoring tetap andal meskipun sistem mengalami beban tinggi.
  • Kolam thread memberikan prioritas lebih rendah pada pernyataan SQL yang kompleks dan menerapkan batas maksimum konkurensi, sehingga mencegah terlalu banyak pernyataan SQL kompleks menghabiskan sumber daya sistem hingga membuat layanan database tidak tersedia.

Prasyarat

Instans RDS Anda harus menjalankan MySQL 5.6, 5.7, 8.0, atau 8.4.

Parameter kolam thread

Anda dapat mengonfigurasi kolam thread menggunakan tiga parameter berikut di Konsol. Untuk informasi selengkapnya, lihat Konfigurasi parameter instans.

Parameter Deskripsi
loose_thread_pool_enabled Menentukan apakah fitur kolam thread diaktifkan. Nilai yang valid:
  • ON
  • OFF

Nilai default: ON.

Catatan
  • Gunakan parameter ini untuk mengaktifkan atau menonaktifkan fitur kolam thread. Parameter thread_handling tidak lagi digunakan untuk tujuan ini.
  • Mengaktifkan atau menonaktifkan kolam thread tidak memerlukan restart instans.
loose_thread_pool_size Jumlah grup thread. Nilai default: 4. Thread dalam kolam didistribusikan secara merata ke dalam grup-grup ini untuk dikelola.
loose_thread_pool_oversubscribe Jumlah thread aktif yang diizinkan dalam setiap grup thread. Nilai default: 32. Thread aktif adalah thread yang sedang mengeksekusi pernyataan SQL, tidak termasuk kasus-kasus berikut:
  • Pernyataan SQL sedang menunggu I/O disk.
  • Pernyataan SQL sedang menunggu transaksi dikomit.

Status kolam thread

Untuk menanyakan status kolam thread, jalankan perintah berikut:
show status like "thread_pool%";

Contoh:

mysql> show status like "thread_pool%";

+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| thread_pool_active_threads | 1     |
| thread_pool_big_threads    | 0     |
| thread_pool_dml_threads    | 0     |
| thread_pool_idle_threads   | 19    |
| thread_pool_qry_threads    | 0     |
| thread_pool_total_threads  | 20    |
| thread_pool_trx_threads    | 0     |
| thread_pool_wait_threads   | 0     |
+----------------------------+-------+
8 rows in set (0.00 sec)            

Tabel berikut menjelaskan variabel status tersebut.

Parameter Deskripsi
thread_pool_active_threads Jumlah thread aktif dalam kolam thread.
thread_pool_big_threads Jumlah thread dalam kolam thread yang sedang mengeksekusi kueri kompleks. Kueri kompleks mencakup kueri yang memiliki subkueri, fungsi agregat, atau klausa seperti GROUP BY dan LIMIT.
thread_pool_dml_threads Jumlah thread dalam kolam thread yang sedang mengeksekusi pernyataan DML.
thread_pool_idle_threads Jumlah thread menganggur dalam kolam thread.
thread_pool_qry_threads Jumlah thread dalam kolam thread yang sedang mengeksekusi kueri simple.
thread_pool_total_threads Total jumlah thread dalam kolam thread.
thread_pool_trx_threads Jumlah thread dalam kolam thread yang sedang mengeksekusi transaksi.
thread_pool_wait_threads Jumlah thread dalam kolam thread yang sedang menunggu I/O disk atau menunggu transaksi dikomit.

Uji SysBench

Gambar-gambar berikut menunjukkan perbandingan kinerja antara skenario dengan kolam thread diaktifkan dan dinonaktifkan. Hasil pengujian menunjukkan bahwa kolam thread memberikan keunggulan kinerja signifikan pada beban kerja dengan tingkat konkurensi tinggi.