QRコードを表示するapp.psgi
QRコードを表示するだけの簡単なお仕事を大量にさばきたいって言われたので書いてみた。
use Imager::QRCode; use Plack::Request; my $qrcode = Imager::QRCode->new( size => 2, margin => 2, version => 1, level => 'M', casesensitive => 1, lightcolor => Imager::Color->new(255, 255, 255), darkcolor => Imager::Color->new(0, 0, 0), ); my $app = sub { my $req = Plack::Request->new(shift); my $url = $req->param('url') or return [400, ['Content-Type' => 'texxt/plain'], ['url is required']]; my $img = $qrcode->plot($url); $img->write(data => \my $data, type => 'gif') or die $img->errstr; return [200, ['Content-Type' => 'image/gif'], [$data]]; };
これをStarmanで走らせて
starman -a app.psgi
ab -c 10 -n 100してみたら、うちのヘボサーバーでも247.78 [#/sec]くらいでた。
そういえば.cgiはCGIスクリプトってよく言うけど.psgiはPSGIスクリプトって呼べばいいのかな。PSGIアプリケーションでいいのか。