« AjaxIME 高速化 | メイン | crfpp.sourceforge.net »

2007年05月01日

MECAPIを182倍高速にしてみた

MeCabのWebService, MECAPI を182倍高速にして<みました。(2.68qps → 488qps)

http://api.chasen.org/mecapi/

- Perlによる実装はやめて、完全に C++ で書き直し
- CGI ではなくて、C++ による自作 HTTPServer
- mecab のプロセスを prefork することで永続化


たつをさんのオリジナルMECAPIの機能はまだ完全に実装しておらず、基本的な機能しか提供しておりませんが、随時サポートしていきたいと思います。

補足: 実際はネットワークのレイテンシーがあるので、外部ホストから計測すると体感としては、10倍程度の 高速化だと思います。

オリジナルMECAPI:
Server Software:        Apache/2.0.53
Server Hostname:        chasen.org
Server Port:            80

Concurrency Level:      2
Time taken for tests:   37.346464 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      80700 bytes
HTML transferred:       66100 bytes
Requests per second:    2.68 [#/sec] (mean)
Time per request:       746.929 [ms] (mean)
Time per request:       373.465 [ms] (mean, across all concurrent requests)
Transfer rate:          2.09 [Kbytes/sec] received


高速版:
Server Software:        Yet_Another_MECAPI_Server(prefork)/1.0
Server Hostname:        api.chasen.org
Server Port:            80

Concurrency Level:      2
Time taken for tests:   0.204881 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      85800 bytes
HTML transferred:       65000 bytes
Requests per second:    488.09 [#/sec] (mean)
Time per request:       4.098 [ms] (mean)
Time per request:       2.049 [ms] (mean, across all concurrent requests)
Transfer rate:          405.11 [Kbytes/sec] received

投稿者 taku : 2007年05月01日 21:09

トラックバック

このエントリーのトラックバックURL:
http://chasen.org/~taku/blog/mt-tb.cgi/225