MariaDB中的thread pool解讀

來源:互聯網
上載者:User

使用Threadpool的好處

使用線程代理的模型在串連數已知可控的情況下,提前建立好過線程並利用作業系統的threadpool技術維護,能減少很多開銷。

儘可能的使用作業系統的線程方面的管理,把線程管理開銷降到最低。 3. 利用thread_pool_max_threads控制資源使用什麼情況下Thread Pool作用比較小:

並發太高及有長的語句操作。 如:內部threadpool的總數為:10個,外面並發來了1000個請求,現在都來爭用這10個內部線程,這個開銷也比較重。同樣道理加大threadpool後,innodb內部的並發也會受到限制。

突發的大量串連。這個情況下threadpool還有一定的作用,但是效果不明顯了。如果為了防止大量的串連進來。可以考慮增加thread_pool_min_threads及thread_pool_idle_timeout的值,讓平時也維護一個大的threadpool高並發的環境,有可能簡單的查詢也會變慢。雖然select 1;這樣的查詢很簡單應該會很快完成。但在threadpool的下面也需要排隊等待從theadpool得到可用的線程才能執行。

使用方法:

目前支援threadpool的有MariaDB, Percona, 官方MySQL的一個收費功能。配置啟用。

在my.cnf

 
  1. [mysqld] 
  2. #thread pool 
  3. thread_handling=pool-of-threads 
  4. thread_pool_max_threads=300 
  5. thread_pool_size=64 
原文連結:http://www.mysqlsupport.cn/%EF%BD%8Dariadb-thread-pool/

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.