बफर पूल म्यूटेक्स विवाद से बचने के लिए बफर पूल के उदाहरणों की संख्या बढ़ाई जानी चाहिए।
बफ़र पूल आकार 8GB के साथ मुझे संदेह है कि आप कभी बफ़र पूल म्यूटेक्स विवाद देखेंगे।
अद्यतन 0 :
मैं उत्तर में 8 जीबी बफर पूल का उल्लेख करता हूं जबकि मूल प्रश्न में कुल मेमोरी 8 जीबी थी। ज़रूर, बफर पूल 8GB से कम होना चाहिए। 4GB एक अच्छी शुरुआत की तरह लगता है लेकिन सुनिश्चित करें कि कोई भी स्वैपिंग न हो।
अद्यतन 1 :
// यासुफ़ुमी की स्लाइड्स से (हाल के 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
यदि आपको बफ़र पूल म्यूटेक्स प्रतीक्षा की उच्च गिनती दिखाई देती है, तो यह कई बफ़र पूल उदाहरणों पर विचार करने का समय है। विवाद ~ 48 जी से छोटे बफर पूल पर होने की संभावना नहीं है।