Mojolicous+Teng SQLが遅いのではなくて、コネクションコストか?
Plack::Middleware::Profiler::NYTProfを使い、ボトルネックをしらべてみた。
SQL発行の所が顕著に遅いことがわかったけれど、その前のコネクションのところっぽい。
MojoliciousのヘルパーでTengのオブジェクトを作っているのだけど、 ぷーリングみたいなことをした方がいいのかな?
$self->helper( db => sub { Twien::DB->new( $config->{db} ) } );
なんとなく、これと同じことをMojoliciousでやればよさそうな気がする。
http://hirobanex.net/article/2011/09/1316055740
Mojoliciousのアプリケーションコンテキスト$selfにTengのオブジェクトを保存しておきたいのだけど、どうするんだろう。
ドキュメントのhelperのところにstateってでてくるけどこれはなんだろう。 http://mojolicio.us/perldoc/Mojolicious#helper
とりあえずこんな感じにしたらいいんじゃ?
$self->helper( db => sub { state $teng = Twien::DB->new( $config->{db} ); return $teng; } );
<<追記予定!>>