2012-02-20 23 views
2

SlimとSilexマイクロフレームワークを使用して2つのベンチマークページを作成し、スピードをテストしました。ApacheBenchが非常に遅い

Chromeデベロッパーツールの結果:

スリム:7MS

サイレックス:16msの

ApacheBench結果:

# Slim 
$ ab -n 1 -c 1 'http://localhost/webapps/FrameworksBenchmarking/Slim/data/123' 
> 5.008 seconds 

# Silex 
ab -n 1 -c 1 'http://localhost/webapps/FrameworksBenchmarking/Silex/data/123' 
> 0.001 seconds 

を私はabそう作るものが理解していませんスリムでゆっくり。この問題に関するアイデアはありますか?

PSご覧のとおり、ブラウザでページをリクエストしても問題ありません。また、curlで高速です。

+0

セットアップ[プロファイラ]( http://xdebug.org/docs/profiler)、 –

+0

良いアイデアを見つけてください!ありがとう! :) –

+1

これは、Responseオブジェクトの 'header(" HTTP/1.1 200 OK ");で発生します。奇妙な... –

答えて

1

PHPアクセラレータを使用していますか?あなたはベンチマークの前にすべてを温めましたか? -n 1 -c 1は、正確な統計情報を提供するには十分ではないようです。繰り返し回数を増やしてみてください。 Slim Appのために1.0にHTTPのバージョンを設定する

+0

はい、私はAPCを使用しています。 -n 1 -c 1は複数回実行し、これらのパラメータを大きな値に変更すると、はるかに遅くなります。 –

0

試してみてください。

$app = new \Slim\App(['settings' => ['httpVersion'=>'1.0']]); 

ABテストがPHPのヘッダコードのバグを持っているように思える:

<?php 
header("HTTP/1.1 200 OK"); 
exit;