我一直在運行一些基準測試,找出爲什麼我的應用程序正在運行極大慢。我們的應用程序使用RDS上的mysql數據庫在ec2 m3實例上運行。起初,我認爲它與RDS或一個不好的配置有關。但是當我開始在代碼中進行時間檢查時,我得出結論,就像我的代碼一樣優化 - 顯然laravel kernal本身需要很長時間才能執行。Laravel照亮合同 HTTP 中的index.php內核響應接管第二執行
以我主控制器中的一個的平均執行時間爲控制器之內的所有的代碼爲大約200 - 175ms之間。
但是該網頁將加載採取了折磨人的1.3秒!在控制器的代碼中肯定沒有錯,所以我認爲其他東西一定是導致問題的原因,所以我在Laravel應用程序的公共目錄的index.php文件中對基本代碼進行了基準測試,並發現創建一個Illuminate \ Contracts \ Http \核心對象和獲取/發送響應獨自花了1120ms!
<?php
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
// FROM HERE ->
$kernel = $app->make('Illuminate\Contracts\Http\Kernel');
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
//<--to here takes 1120 ms of which 200 ms is my code in the controller
$kernel->terminate($request, $response);
我假設這是一個框架的問題,但我怎樣才能克服這一點 - 一秒鐘的平均響應時間是不可接受的在這裏。