MariaDB/MySQL スレッド数を減らす

MariaDB/MySQL スレッド数を減らす

だから私はシングルコアサーバーでMariaDB 10データベースを実行しています。非常に強力ではありませんが、要件も大きくありません。

しかし、1つの注目すべき点は、リストにhtop約28の項目が表示されることです。これは、1つのプロセスに27のスレッドを追加したものです(スレッドは基本的にプロセスのようにリストされているため)。mysqlhtop

しかし、私のデータベースは、接続ごとに1つの基本スレッドではなく8つのスレッドに制限されたスレッドプールを使用するように構成されており、そのスレッドをすべて使用しないため(現在は2つです)、さらに25が必要なため、同じです。スレッドは何に使用されますか?この数を減らす方法はありますか?

これは必ずしも問題になるわけではないことを知っていますが、遅いクエリをほとんど経験せず(ほとんどのクエリが非常に簡単なため、一般的な<1msではなく>0.5秒)、スレッドが多すぎると潜在的な原因になる可能性があります。あまりにも多くの人が突然目覚めた場合です。

このスレッド数は正常ですか?これをさらに減らす方法はありますか?それとも、これらの追加スレッドは重要なタスクを実行していますか?

sudo grep thread /etc/mysql/my.cnf

thread_stack            = 256K
thread_cache_size       = 8
thread_handling         = pool-of-threads
thread_pool_max_threads = 8
thread_pool_stall_limit = 200

ベストアンサー1

これらのスレッドはさまざまな用途に使用されます。開始と終了を待つメインスレッド、InnodbとAriaのいくつかのバックグラウンドスレッドがあります。

接続しgdbて実行して、thread apply all bt彼らが何をしているかを確認してください。ほとんどの人は何もせず、イベントが起こるのを待っています。

おすすめ記事