「コネクションプーリング都市伝説」はほんとに都市伝説?(その1)

「コネクションプーリング都市伝説」という単語がある.かいつまんでいうと


「コネクションプールって一般的に速いと言われているけど,クライアントが
多くなると接続維持のコストが大きくなるから今となっては速くないんじゃね?」


というものだ.

WEB+DB PRESS vol.33でnipotanさんの中の人が書いてた記事が発端だと思われる.

あとこんなエントリもあった.

hori-uchi.com コネクションプーリング都市伝説は正しそう

またちょっと古いねたですが、WEB+DB PRESS vol.33でnipotanさんが書いてたコネクションプーリング都市伝説を読んだ時、ほんとのところどっちが速いのかってのをabでベンチマークをとってみました。
(snip)
これ以外にもいくつかパスを替えてベンチマークをとったところ、いずれも若干ですがプーリングしないほうが早かったので、現在はプーリングしないほうで運用しています。

上記エントリやnipotanさんの結論を否定するモノではないけれど,
「コネクションプーリング都市伝説」という単語はなかなかキャッチーで
ちょっと訳知りのエンジニアが「コネクションプール?あれは都市伝説だから」
とかいうふいんき(←なぜか変換できない)になったらそれはイカンなぁと
思うので書いてみる.

かなりながーいエントリになる予定なので,結論だけ最初に書くとこんな感じ.

  1. MySQLのコネクションプールは確かに遅いかも知れない
  2. でもそれは実装の話でスケールアップに強いコネクションプールもあるよ
  3. だからコネクションプール→すなわち遅いにはつながらないよ
  4. 決めつけ(・Д・)イクナイ!.ベンチマーク常に重要

(つづく)