Le nombre d'instances de pool de mémoire tampon doit être augmenté pour éviter les conflits de mutex de pool de mémoire tampon.
Avec une taille de pool de mémoire tampon de 8 Go, je doute que vous verrez jamais la contention du mutex du pool de mémoire tampon.
MISE À JOUR 0 :
Je mentionne un pool de mémoire tampon de 8 Go dans la réponse tandis que dans la question d'origine, la mémoire totale était de 8 Go. Bien sûr, le pool de mémoire tampon doit être inférieur à 8 Go. 4 Go semblent être un bon début, mais assurez-vous qu'aucun échange ne se produit.
MISE À JOUR 1 :
// à partir des diapositives de Yasufumi (dans les versions récentes de MySQL, la sortie peut légèrement différer)
Pour déterminer s'il existe un conflit sur le pool de tampons, mutex collecte une douzaine d' SHOW ENGINE INNODB STATUS
échantillons pendant le temps de pointe.
Ensuite, agrégez-le à l'aide d'un extrait de shell:
#!/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
ce qui donne une sortie comme celle-ci:
.....
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
Si vous voyez un nombre élevé d'attente de mutex de pool de mémoire tampon, il est temps de considérer plusieurs instances de pool de mémoire tampon. Il est peu probable que la contention se produise sur un pool de tampons inférieur à ~ 48G.