Прежде всего: мне нравится Laravel.
С помощью инструмента телескоп на локальном компьютере (искусственный PHP-сервис). Я обнаружил, что, например, один простой запрос API вызывает один запрос к базе данных с ответом менее 60 мс, в то время как результирующее представление занимает более 600 мс.
Я пробовал такие вещи, как:
- оптимизировать PHP artisan
- php artisan Route:cache
- php artisan оптимизировать: очистить
При использовании Postman запрос занимает около 800 мс .
Аутентификация, похоже, не является проблемой, поскольку я тестировал ее с промежуточным программным обеспечением и без него (например, Sanctum и т. д.).
Есть ли у вас какие-либо советы по дальнейшему анализу?
api.php:
Route::group(['prefix' => 'v1', 'namespace'=> 'App\Http\Controllers\Api\V1'], function(){
Route::apiResource('powercurve', PowercurveController::class);});
Запрос API:
http://localhost:8000/api/v1/powercurve
App\Http\Controllers\Api\ V1\PowercurveController@index
class PowercurveController extends Controller
{
public function index(Request $request)
{
return new PowercurveCollection(Powercurve::orderBy('id')->limit(10)->get());
}
}
пространство имен App\Http\Resources\V1;
используйте Illuminate\Http\Resources\Json\ResourceCollection;
class PowercurveCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*
* @param \Illuminate\Http\Request $request
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
*/
public function toArray($request)
{
return parent::toArray($request);
}
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... t-api-only
Мобильная версия