php7.2.27, Laravel6.16.0を使用してAPIを作成しているのですが、return response()後にスループットがガクッと下がっており、これの要因を知りたく質問いたしました。
https://readouble.com/laravel/5.5/ja/responses.html
こちらでは
フレームワークが自動的に、文字列を完全なHTTPレスポンスへ変換します。
とあるので、laravelがHTTPレスポンスへの変換処理によるものかと思うのですがどうにかスループットの低下を抑える方法はないでしょうか。
以下、簡素ですがプログラムを載せます。
(exit()はその場で処理が終了するため比較対象が違う気がします…)
laravelを使用する以上しょうがないことかもしれませんが、何かご存じの方いましたらご教授いただければと思います。
よろしくお願いいたします。
PHP
1public function store(Request $request) 2{ 3 /** 4 * 何らかの処理 5 */ 6 7 // この段階でexit()を実行した場合は60/sec程度 8 9 // 以下が実行されると47/sec程度まで下がる 10 return response('RESPONSE', 200)->header('Content-Type', 'text/plain'); 11}
以下、検証環境と検証方法
PHP/7.2.27
Larave/l6.16.0
EC2/t2.micro
Apache/2.4.41
JMeter
・100スレッドで10回アクセスの計1000リクエスト