web-dev-qa-db-ja.com

mariadbにより多くのメモリを割り当てた後でも、mariadbによるCPU使用率が高いですか?

私はawsサーバーr4.4xlargeを使用していて、データベースに60GB以上を割り当てましたが、それでもCPU使用率の問題に直面しています。

私は整数の主キーを持つおよそ18GBのサイズのそれぞれに約10個の大きなテーブルを持っています。すべてのテーブルはinnodbであり、これをデフォルトの構成ファイルに追加することによってもinnodbを最適化しました。

innodb_buffer_pool_size=60G #(max 60 % of your Memory if and only if Memory >= 8G)
innodb_log_file_size=15G #(min 25% of innodb_buffer_pool_size)
innodb_flush_log_at_trx_commit=2

また、mysqlでデバッグしている間、クエリに疑問がありますが、mariadbはインスタンスを適切に利用したいと思っています。ほとんどのプロセスはスリープ状態ですが、一部はかなり長い間クエリ状態です。

+---------+-----------------+-----------------+------------------+---------+------+----------------+-----------------+----------+
| Id      | User            | Host            | db               | Command | Time | State          | Info            | Progress |
+---------+-----------------+-----------------+------------------+---------+------+----------------+-----------------+----------+
| 5415663 | root            | localhost       | test_db          | Query   |    0 | Sorting result | SELECT XXXXX    |    0.000 |

Mariadbを最大限に活用するために、まだ何かを最適化する必要があるかどうかに関する提案が必要です。

Tasks: 339 total,   1 running, 338 sleeping,   0 stopped,   0 zombie
%Cpu(s): 13.0 us,  0.1 sy,  0.0 ni, 86.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 12582731+total, 40068792 free, 72185768 used, 13572756 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 51496540 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                    
126064 mysql     20   0 65.336g 0.063t   8968 S 205.6 53.5  51004:26 mysqld                                                                     
  1346 rabbitmq  20   0 9804208 1.022g   4228 S   2.3  0.9   1336:27 beam.smp                                                                   
  1488 redis     20   0  604496 513216   2236 S   1.0  0.4 389:01.86 redis-server                                                               
  7064 www-data  20   0  450464  38604  30744 S   0.3  0.0   0:00.93 php-fpm7.0                                                                 
  9226 www-data  20   0  383204  37932  29336 S   0.3  0.0   0:00.66 php-fpm7.0                                                                 
  9404 www-data  20   0  376000  36820  29016 S   0.3  0.0   0:00.57 php-fpm7.0 
2
rajesh6115

16コアの場合、200%は多くのCPUではありません。 200%は2つのフルコアです(r4.4xlargeにある16のうち)。使用中のメモリの量を考慮すると、MariaDBは確かにある程度の問題を抱えています。 16コアのうち2コアしか使用していないという事実は、CPUの使用率が低かったと思います。

htopユーティリティを使用して、mariaDBによるコアの使用状況をよく確認してください。

1
Sirch

バグがありました https://jira.mariadb.org/browse/MDEV-15016 。そのバグは修正されました。最新バージョン(10.2.13、10.3.5)を使用し、すべてが正常であることを確認します。

0