Lumen:1s,Laravel:5s用于简单的api调用?
所以不久前我开始了一个关于拉威尔的API项目,我想为什么不给Lumen一个机会呢。但最后,我想用圣殿,社交名流等等。。。我几乎在任何地方都读到,如今的性能差异并没有那么大 所以我将我的代码从Lumen迁移到Laravel,经过一些调整后,一切都像以前一样工作。。。除了现在一个非常简单的API调用需要5秒。当然,这可能是我的设置-wsl2不是特别快。但是,同样的流明通话需要约1000毫秒Lumen:1s,Laravel:5s用于简单的api调用?,laravel,performance,api,lumen,Laravel,Performance,Api,Lumen,所以不久前我开始了一个关于拉威尔的API项目,我想为什么不给Lumen一个机会呢。但最后,我想用圣殿,社交名流等等。。。我几乎在任何地方都读到,如今的性能差异并没有那么大 所以我将我的代码从Lumen迁移到Laravel,经过一些调整后,一切都像以前一样工作。。。除了现在一个非常简单的API调用需要5秒。当然,这可能是我的设置-wsl2不是特别快。但是,同样的流明通话需要约1000毫秒 Route::post('register', [AuthController::class, 'regist
Route::post('register', [AuthController::class, 'register']);
控制器:
public function register(Request $request): JsonResponse {
$this->validate($request, [
'phone' => 'required|string|phone',
'phone_country' => 'required_with:phone',
]);
$phone = phone($request->get('phone'), [$request->get('phone_country')]);
try {
$user = User::createByPhone($phone);
return response()->json(['user' => $user->id, 'message' => 'SMS_SENT'], 201);
} catch (\Exception $e) {
return response()->json(['message' => 'User Registration Failed - ', 'error' => $e], 409);
}
}
public static function createByPhone($phone) {
return DB::transaction(function () use ($phone) {
$user = User::create();
$user->phoneNumbers()->create([
'did' => $phone
]);
return $user;
});
}
模型中的函数:
public function register(Request $request): JsonResponse {
$this->validate($request, [
'phone' => 'required|string|phone',
'phone_country' => 'required_with:phone',
]);
$phone = phone($request->get('phone'), [$request->get('phone_country')]);
try {
$user = User::createByPhone($phone);
return response()->json(['user' => $user->id, 'message' => 'SMS_SENT'], 201);
} catch (\Exception $e) {
return response()->json(['message' => 'User Registration Failed - ', 'error' => $e], 409);
}
}
public static function createByPhone($phone) {
return DB::transaction(function () use ($phone) {
$user = User::create();
$user->phoneNumbers()->create([
'did' => $phone
]);
return $user;
});
}
所以,非常简单的事情。现在,为什么要花这么长时间~6000毫秒。我错过什么了吗
(更一般地说,有没有一种方法可以从Laravel中删除API不需要的东西?)
谢谢。我看不出你的代码有什么问题。我想这与wsl2读取文件的速度有关。我们在Docker遇到了windows机器和Laravel的问题。我们在项目中添加了Swoole,这对WSL2有很大帮助
Laravel现在有一个名为“将Swoole添加到项目中”的第一方软件包。您可以尝试安装它,看看它是否有帮助。谢谢,我会尝试的-尽管我仍然想知道为什么流明会有这么大的差异