MySQLチューニングメモ
MySQL5.5 で標準でロードされているlibtcmalloc_minimal.so
巷ではmallocが高速になるとよく聞くライブラリだが、必ずしも早くなるとは限らない
とあるWEBシステムで負荷試験を実施したときの結果
libtcmalloc_minimal.soロード時 600 req/sec
libtcmalloc_minimal.soロードしてないとき 1000 req/sec
なんと400req/secも性能が向上!
何となくロードせずに、キチンと負荷試験で性能比較してみましょう
※性能比較してみたところmallocするだけならtcmallocのほうが早いことが多いみたい
■シングルスレッドで1000万回ループ
mallocライブラリ mallocサイズ 時間
glibc 256k 0.500000sec
glibc 32m 0.460000sec
glibc 1g 58.240000sec
tcmalloc 256k 3.600000sec
tcmalloc 32m 0.570000sec
tcmalloc 1g 9.000000sec
■マルチスレッドで1000万回ループ
mallocライブラリ スレッド数 mallocサイズ 時間
glibc 10 256k 11.52205000sec
glibc 10 32m 230.435344000sec
glibc 10 1g 308.187514000sec
tcmalloc 10 256k 3.309323000sec
tcmalloc 10 32m 2.3805868296sec
tcmalloc 10 1g 16.4271991296sec
glibc 20 256k 13.696045000sec
glibc 20 32m 224.3522635296sec
glibc 20 1g 309.689440000sec
tcmalloc 20 256k 3.3786762296sec
tcmalloc 20 32m 1.485455000sec
tcmalloc 20 1g 17.3883842296sec