Tüm Ürünler
Search
Belge Merkezi

PolarDB:Thread Pool

Son Güncelleme:Oct 12, 2026

PolarDB for MySQL için en iyi performansı elde etmek amacıyla, PolarDB iş parçacıklarını oturumlardan ayıran iş parçacığı havuzu özelliğini sunar. Aynı anda çok sayıda oturum açıkken, yalnızca küçük bir iş parçacığı grubu etkin oturumların görevlerini yönetir.

Avantajlar

MySQL varsayılan olarak her oturum için özel bir iş parçacığı oluşturan özel oturum modunu kullanır. Çok sayıda oturum bulunduğunda, yoğun kaynak rekabeti performansı düşürür. Kapsamlı sistem iş parçacığı zamanlaması ve önbellek isabetlerinin azalması da performansın keskin şekilde düşmesine neden olur.

PolarDB'nin iş parçacığı havuzu, farklı SQL işlem türleri için öncelik ve eşzamanlılık kontrol mekanizmaları uygular. Bağlantı sayısını optimum seviyeye yakın tutarak, PolarDB veritabanlarının yüksek bağlantı sayısı ve yüksek eşzamanlılık altında yüksek performansı korumasını sağlar. İş parçacığı havuzu aşağıdaki avantajları sunar:

  • Çok sayıda iş parçacığı eşzamanlı çalıştığında, iş parçacığı havuzu eşzamanlı iş parçacığı sayısını makul bir aralıkta tutarak aşırı iş parçacığı zamanlamasını ve önbellek isabet kayıplarını önler.

  • Çok sayıda işlem eşzamanlı yürütüldüğünde, iş parçacığı havuzu deyimleri ve işlemleri farklı önceliklere atar; bunların eşzamanlılığını ayrı ayrı kontrol ederek kaynak rekabetini azaltır.

  • İş parçacığı havuzu, yönetim SQL deyimlerine daha yüksek öncelik verir; böylece bu deyimler ilk sırada çalıştırılır. Bu sayede sistem yükü yüksek olduğunda bile yeni bağlantılar, yönetim işlemleri ve izleme kararlı kalır.

  • İş parçacığı havuzu, karmaşık sorgu SQL deyimlerine nispeten daha düşük öncelik verir ve bunların maksimum eşzamanlılığını sınırlar. Bu durum, çok sayıda karmaşık SQL deyiminin sistem kaynaklarını tüketerek tüm veritabanı hizmetini kullanılamaz hale getirmesini engeller.

İş parçacığı havuzunu kullanma

İş parçacığı havuzu özelliği, konsolda değiştirebileceğiniz aşağıdaki parametreleri içerir. Daha fazla bilgi için bkz. Küme parametrelerini ve düğüm parametrelerini ayarlama.

Not

PolarDB konsolundaki küme parametreleri, MySQL yapılandırma dosyası uyumluluk ön eki olan loose_ ifadesini taşır. PolarDB konsolunda parametreleri değiştirmek için loose_ ön ekine sahip parametreleri düzenleyin.

Parametre

Açıklama

loose_thread_pool_enabled

İş parçacığı havuzunun etkinleştirilip etkinleştirilmeyeceğini belirtir. Geçerli değerler:

  • ON: İş parçacığı havuzunu etkinleştirir.

  • OFF: İş parçacığı havuzunu devre dışı bırakır.

Not
  • Bu parametrenin varsayılan değeri sürüme göre değişir.

    • MySQL 5.6: Varsayılan değer OFF'dur.

    • MySQL 5.7, MySQL 8.0.1 ve MySQL 8.0.2: Varsayılan değer ON'dur.

  • İş parçacığı havuzunu etkinleştirmek veya devre dışı bırakmak için kümenin yeniden başlatılması gerekmez.

loose_thread_pool_size

İş parçacığı havuzundaki iş parçacığı gruplarının sayısı. Değer aralığı, kümenin birincil düğüm teknik özelliklerindeki CPU çekirdek sayısına bağlıdır.

Değer aralığı: DBNodeClassCPU~DBNodeClassCPU10. Varsayılan değer: DBNodeClassCPU2.

Not
  • DBNodeClassCPU, birincil düğüm teknik özelliklerindeki CPU çekirdek sayısını temsil eden bir tamsayıdır.

  • MySQL 5.7 için varsayılan değer DBNodeClassCPU'dur.

Örnekler:

  • Veritabanı altyapısı Küme Sürümü serisinde MySQL 8.0.1 olarak ayarlandığında ve birincil düğüm teknik özellikleri 4 çekirdek ile 8 GB ise, değer aralığı 4~40 ve varsayılan değer 8'dir.

  • Veritabanı altyapısı Çok Ana Düğümlü Küme (Sınırsız) Sürümü serisinde MySQL 8.0.1 olarak ayarlandığında ve her iki birincil düğümün teknik özellikleri 4 çekirdek ile 8 GB ise, değer aralığı 8~80 ve varsayılan değer 16'dır.

  • Veritabanı altyapısı Küme Sürümü serisinde MySQL 5.7 olarak ayarlandığında ve birincil düğüm teknik özellikleri 4 çekirdek ile 8 GB ise, değer aralığı 4~40 ve varsayılan değer 4'tür.

loose_thread_pool_high_prio_mode

İş parçacığı havuzunun yüksek öncelikli kuyruk modu. Geçerli değerler:

  • transactions (varsayılan): Açık bir işlemdeki SQL deyimleri yüksek öncelikli kuyruğa eklenir ve thread_pool_high_prio_tickets biletlerini alır. Biletler tükenene kadar sıradaki tüm SQL deyimleri yüksek öncelikli kuyruğa yerleştirilir.

  • statements: Tüm SQL deyimleri yüksek öncelikli kuyruğa eklenir.

  • none: Hiçbir SQL deyimi yüksek öncelikli kuyruğa eklenmez.

Not

Uygulandığı sürümler:

  • MySQL 5.6

  • MySQL 5.7

loose_thread_pool_high_prio_tickets

Yüksek öncelikli kuyruk için tek seferde verilen bilet sayısı.

Değer aralığı: 0~4294967295. Varsayılan değer: 4294967295.

Not

Uygulandığı sürümler:

  • MySQL 5.6

  • MySQL 5.7

loose_thread_pool_idle_timeout

İş parçacığı havuzundaki boşta kalan iş parçacıklarının serbest bırakılması için zaman eşiği. Bu eşiği aşan ve hiçbir isteğe hizmet etmeyen boşta iş parçacığı serbest bırakılır.

Değer aralığı: 0~31536000. Varsayılan değer: 60. Birim: saniye.

Not

Uygulandığı sürümler:

  • MySQL 5.6

  • MySQL 5.7

loose_thread_pool_oversubscribe

Her iş parçacığı grubunda izin verilen etkin iş parçacığı sayısı. Etkin iş parçacığı, bir SQL deyimi yürüten iş parçacığıdır.

Değer aralığı: 1~1000. Varsayılan değer: 20.

loose_thread_pool_stall_limit

İş parçacığı havuzunun takılı duruma girip girmediğini belirlemek için kullanılan zaman eşiği.

İş parçacığı havuzu takılı duruma girdiğinde, sistem SQL deyimlerine hizmet etmek için yeni iş parçacıkları oluşturur.

Değer aralığı: 1~18446744073709551615. Varsayılan değer: 10. Birim: milisaniye.

Not

MySQL 5.6 için varsayılan değer 30 milisaniyedir.

loose_bypass_thread_pool_ips

İş parçacığı havuzu tarafından kısıtlanmayan istemci IP adreslerini yapılandırır. İş parçacığı havuzu dolu olsa bile, yönetim işlemlerini gerçekleştirmek için SQL deyimleri çalıştırılabilir.

Yapılandırma örneği:

10.69.96.16,10.69.96.17
Not

Uygulandığı sürüm: Revizyonu 8.0.1.1.19 veya üzeri olan MySQL 8.0.1 8.0.1.

loose_bypass_thread_pool_check_ignore_proxy

loose_bypass_thread_pool_ips kullanılarak istemci IP adresleri tespit edilirken, Proxy üzerinden bağlanan istemcilerin IP adreslerinin yoksayılıp yoksayılmayacağını belirtir. Geçerli değerler:

  • ON (varsayılan): Proxy üzerinden bağlanan istemcilerin IP adresleri için, loose_bypass_thread_pool_ips istemci IP adresini içerse bile istemci iş parçacığı havuzu kısıtlamalarına tabi olmaya devam eder.

  • OFF: Proxy üzerinden bağlanan istemcilerin IP adresleri için, loose_bypass_thread_pool_ips istemci IP adresini içeriyorsa istemci iş parçacığı havuzu kısıtlamalarına tabi olmaz.

Not

Uygulandığı sürüm: Revizyonu 8.0.1.1.19 veya üzeri olan MySQL 8.0.1.

loose_thread_pool_high_priority_users

Yüksek öncelikli veritabanı hesaplarını yapılandırır. Yapılandırmadan sonra, bu hesaplardan gelen istekler iş parçacığı havuzunun yüksek öncelikli kuyruğuna yerleştirilir ve ilk sırada işlenir.

Yapılandırma örneği:

user1, user2
Not
  • Uygulandığı sürümler:

    • Revizyonu 8.0.1.1.19 veya üzeri olan MySQL 8.0.1.

    • Revizyonu 8.0.2.2.12 veya üzeri olan MySQL 8.0.2.

  • Bu parametreyi yapılandırdıktan sonra, yalnızca yeni veritabanı bağlantıları için etkili olur.

  • Çok sayıda yüksek öncelikli hesap yapılandırmayın.

loose_thread_pool_mark_ddl_thread_timeout_sec

DDL deyimleri için iş parçacığı havuzu zaman aşımı eşiğini yapılandırır. Bu eşik aşıldığında, DDL zaman aşımına uğramış olarak işaretlenir ve sistem istekleri işlemek için yeni iş parçacıkları oluşturur.

Değer aralığı: 0~864000. Varsayılan değer: 600. Birim: saniye.

Not

Uygulandığı sürüm: Revizyonu 8.0.1.1.19 veya üzeri olan MySQL 8.0.1.

loose_thread_pool_mark_ddl_thread_timeout_immediately

İş parçacığı havuzu yüksek yük altındayken ve düşük öncelikli kuyruk birikmişken DDL'nin derhal zaman aşımına uğramış olarak işaretlenip işaretlenmeyeceğini belirtir. Sistem ardından istekleri işlemek için yeni iş parçacıkları oluşturur. Bu parametre, sık toplu DDL işlemleri gerektiren iş yükleri için uygundur. Geçerli değerler:

  • ON: Bu özelliği etkinleştirir.

  • OFF (varsayılan): Bu özelliği devre dışı bırakır.

Not

Uygulandığı sürüm: Revizyonu 8.0.1.1.19 veya üzeri olan MySQL 8.0.1.

İş parçacığı havuzu durumunu sorgulama

İş parçacığı havuzu durumunu sorgulamak için aşağıdaki komutu çalıştırın:

select * from information_schema.THREAD_POOL_STATUS;

Aşağıdaki örnek çıktı döndürülür:

mysql> select * from information_schema.THREAD_POOL_STATUS;
+----+--------------+---------------------+----------------------+-------------------+---------------------------+------------------+-----------------+------------------+
| ID | THREAD_COUNT | ACTIVE_THREAD_COUNT | WAITING_THREAD_COUNT | DUMP_THREAD_COUNT | SLOW_THREAD_TIMEOUT_COUNT | CONNECTION_COUNT | LOW_QUEUE_COUNT | HIGH_QUEUE_COUNT |
+----+--------------+---------------------+----------------------+-------------------+---------------------------+------------------+-----------------+------------------+
|  0 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  1 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  2 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  3 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  4 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  5 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  6 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  7 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  8 |            1 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  9 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 10 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 11 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 12 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 13 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 14 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 15 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 16 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 17 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 18 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 19 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 20 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 21 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 22 |            2 |                   1 |                    0 |                 0 |                         0 |                1 |               0 |                0 |
| 23 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 24 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 25 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 26 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 27 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 28 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 29 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 30 |            2 |                   0 |                    0 |                 0 |                         0 |                1 |               0 |                0 |
| 31 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 32 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 33 |            2 |                   0 |                    0 |                 0 |                         0 |                1 |               0 |                0 |
| 34 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 35 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 36 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 37 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 38 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 39 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 40 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 41 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 42 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 43 |            1 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 44 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 45 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 46 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 47 |            3 |                   1 |                    0 |                 0 |                         0 |                1 |               0 |                0 |
| 48 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 49 |            3 |                   1 |                    0 |                 0 |                         0 |                1 |               0 |                0 |
| 50 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 51 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 52 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 53 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 54 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 55 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 56 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 57 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 58 |            1 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 59 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 60 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 61 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 62 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 63 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
+----+--------------+---------------------+----------------------+-------------------+---------------------------+------------------+-----------------+------------------+
64 rows in set (0.00 sec)

Aşağıdaki tabloda parametreler açıklanmaktadır.


Parametre


Açıklama


ID


İş parçacığı havuzu kimliği.


THREAD_COUNT


İş parçacığı havuzundaki iş parçacığı sayısı.


ACTIVE_THREAD_COUNT


İş parçacığı havuzundaki etkin iş parçacığı sayısı.


WAITING_THREAD_COUNT


İş parçacığı havuzunda disk G/Ç veya işlem commit işlemi bekleyen iş parçacığı sayısı.


DUMP_THREAD_COUNT


İş parçacığı havuzundaki DUMP tipi kalıcı bağlantı sayısı.


SLOW_THREAD_TIMEOUT_COUNT


İş parçacığı havuzunda zaman aşımına uğramış olarak işaretlenen iş parçacığı sayısı.


CONNECTION_COUNT


İş parçacığı havuzunda kurulan kullanıcı bağlantısı sayısı.


LOW_QUEUE_COUNT


İş parçacığı havuzunun düşük öncelikli kuyruğunda bekleyen istek sayısı.


HIGH_QUEUE_COUNT


İş parçacığı havuzunun yüksek öncelikli kuyruğunda bekleyen istek sayısı.

Sysbench testleri

Aşağıdaki şekiller, iş parçacığı havuzu etkinleştirildiğinde ve devre dışı bırakıldığında performansı karşılaştırır. Test sonuçları, iş parçacığı havuzunun yüksek eşzamanlılık altında belirgin performans avantajları sağladığını göstermektedir.

Şekil 1. OLTP dizinsiz güncelleme testi OLTP non-indexed update

Şekil 2. OLTP yalnızca yazma testi OLTP write-only

Şekil 3. OLTP yalnızca okuma testi OLTP read-only

Şekil 4. OLTP okuma/yazma testi OLTP read/write test

Dolu bir iş parçacığı havuzunda sorun giderme

Veritabanında bağlantı zaman aşımları veya kuyruğa alınmış istekler yaşıyorsanız, iş parçacığı havuzunun dolup dolmadığını kontrol edin.

  1. PolarDB konsolunda oturum açın ve hedef kümenin ayrıntılar sayfasına gidin.

  2. Performance Monitoring > Advanced Monitoring > Database Metrics > Thread Pool seçeneğine tıklayın.

  3. thread_pool_running_threads (çalışan iş parçacıklarının mevcut sayısı) ile tp_thread_count (iş parçacığı havuzunun toplam iş parçacığı kapasitesi) değerlerini karşılaştırın. thread_pool_running_threads değeri tp_thread_count değerine yakın kalıyorsa, iş parçacığı havuzu doludur.

  4. tp_low_queue_count ve tp_high_queue_count ölçümlerini kontrol edin. Herhangi bir kuyrukta birikme olması, isteklerin kuyruğa alındığını ve iş parçacığı havuzunun dolu olduğunu gösterir.