雪降ってるよ...
以前 HTTPの性能を測ってみる という記事を書きましたが、 何となく気が向いてたので、 Zope3 の性能を測定してみました。
使用環境は以前と同じ。 Zope3は3.2.0finalで、パッチやパッケージの追加は一切なし。 非常に純粋な環境です。
まずは普通に。
$ time ./httptest 100 100 http://localhost:8080/ 0.33user 0.27system 4:14.11elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+1645minor)pagefaults 0swaps
むむ、何かすげー遅くね? でもZope3のフロントページはいろいろやってて、 条件が違いすぎるので、 気を取り直して、 Zope2のHTMLを切り貼りして、 DTMLとして放り込んでみました。
$ time ./httptest 100 100 http://localhost:8080/toto.html 0.34user 0.22system 1:48.69elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+1664minor)pagefaults 0swaps
大分マシにはなったけれど、 前よりやっぱり遅いですね... DTMLのオーバーヘッドかもしれないので、 今度はFileとして放り込んでみました。
$ time ./httptest 100 100 http://localhost:8080/titi.html 0.31user 0.21system 1:52.42elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+1722minor)pagefaults 0swaps
げげ、もっと遅くなったですよ。 おおよそ90リクエスト/秒というところですか。
結論:Zope3はZope2よりかなり遅い。
プロファイラでも使わないとどこがどう遅いのかは分からないし、 本物のアプリケーションでどの程度の差が生まれるのかは未知ですが、 もうちょっと速くならんのかな。