« 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