我开发了一个使用php和slim的REST API,我正在尝试优化它,对于一个简单的空请求,我每秒有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
答案 0 :(得分:0)
根据定义,所有框架都比无代码慢,因为还有更多的框架。
即
<?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应用程序正在做更多工作以使其能够响应不同的URL(路由)并处理错误情况。如果您转到/foo
网址,那么第一个代码块将不会发回404。
要进行比较,您需要制作&#34;非框架&#34;版本具有与Slim版本相同的功能。性能差异将小得多。