バッファー・プール・ミューテックスの競合を回避するために、バッファー・プール・インスタンスの数を増やす必要があります。
バッファプールサイズが8GBの場合、バッファプールのミューテックスの競合が発生することはないと思います。
更新0:
元の質問では合計メモリは8GBでしたが、答えで8Gbバッファプールについて言及しました。確かに、バッファプールは8GB未満でなければなりません。4GBは良いスタートのように聞こえますが、スワッピングが発生しないことを確認してください。
更新1:
// Yasufumiのスライドから(最近のMySQLバージョンでは出力が少し異なる場合があります)
バッファープールミューテックスに競合があるかどうかを判断するにはSHOW ENGINE INNODB STATUS
、ピーク時に数十のサンプルを収集します。
次に、シェルスニペットを使用して集計します。
#!/bin/sh
cat $1.innodb | grep "Mutex at " | cut -d"," -f1 | sort | uniq -c > /tmp/tmp1.txt
cat $1.innodb | grep "lock on " | cut -d"-"
-f2- | sort | uniq -c > /tmp/tmp2.txt
cat /tmp/tmp1.txt /tmp/tmp2.txt | sort -n > $1.contention rm /tmp/tmp1.txt /tmp/tmp2.txt
次のような出力が得られます。
.....
4 lock on RW-latch at 0x7fb86b2c9138 created in file dict/dict0dict.c line 1356
6 lock on RW-latch at 0x7fb86b2c4138 created in file dict/dict0dict.c line 1356
12 lock on RW-latch at 0x7fb86b2d9538 created in file dict/dict0dict.c line 1356
20 lock on RW-latch at 0x7fb86b2db138 created in file dict/dict0dict.c line 1356
22 Mutex at 0x7fb86b28f0e0 created file btr/btr0sea.c line 139
30 lock on RW-latch at 0x7fb86b2ba938 created in file dict/dict0dict.c line 1356
36 lock on RW-latch at 0x7fb86b2bad38 created in file dict/dict0dict.c line 1356
71 Mutex at 0x7fb86b28ecb8 created file buf/buf0buf.c line 597
164 lock on RW-latch at 0x7fb86b28f0b8 created in file btr/btr0sea.c line 139
バッファプールミューテックス待機の数が多い場合は、複数のバッファプールインスタンスを検討する必要があります。競合は、〜48G未満のバッファー・プールでは起こりそうにありません。