Как я могу ускорить PHP Laravel только для REST API? [закрыто]Apache

Ответить
Anonymous
 Как я могу ускорить PHP Laravel только для REST API? [закрыто]

Сообщение Anonymous »

Я использую Laravel 10.0 под Apache 2.4.51 с PHP 8.1 на Windows Server 2022.
Прежде всего: мне нравится 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Apache»