休息 API w 与 SlimPhp 花费太多时间

Rest API w with SlimPhp take too much time

我使用 php 和 slim 开发了一个 REST API,我正在尝试优化它,对于 slim 的一个简单的空请求,我每秒有 56 个请求,如果我不使用slim 我有 259r/s .

我应该怎么做才能使用 Slim 达到 259r/s

-- Index.php

use \Slim\App;

$container=include('Config/Container.php');
$app = new App($container);
$app->get('/metro',function(){
echo "metro";
});

-- container.php

$config = [
    'settings' => [
        'displayErrorDetails' => true,
        'mode'=>'developpement',
        'determineRouteBeforeAppMiddleware' => true,
        'addContentLengthHeader' => false,
    ]
];

.htacess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
php_flag display_errors 1

根据定义,所有框架都比 no-code 慢,因为还有更多事情要做。

<?php
echo 'metro';

将比使用此代码的 Slim 应用程序快得多:

use \Slim\App;

$config = include 'Config/Container.php';
$app = new App($config);
$app->get('/metro', function($request, $response){
    return $response->write("metro");
});

$app->run();

这是因为 Slim 应用程序正在做更多工作以使其能够响应不同的 URLs(路由)并处理错误情况。也就是说,如果您转到 /foo URL,第一段代码不会发回 404。

为了进行比较,您需要使 "non-framework" 版本具有与 Slim 版本相同的功能。性能差异会小很多。