我使用简单查询列出Laravel中的所有用户。
这是我在Eloquent中使用的查询:
$user = User::find(1);
我获得了所有必需的数据,但获得的时间超过1.3秒。在Doctrine中使用相同的内容时,会在300毫秒内加载数据。
在Laravel中是否有任何Eloquent问题?
答案 0 :(得分:1)
转到[您的项目目录] - > laravel-> app-> config.php并更改
'url' => '127.0.0.1'
而不是localhost,看看是否有任何区别。
如果这不起作用,您可以安装Clockwork for laravel,这将为您提供如此长时间内的最新动态。
以下是我所谈论的时间表的一个例子:
答案 1 :(得分:0)
这可能会帮助面临此类问题的人。我在lumen api后端也遇到过类似的问题。我的流明API花费了大约30-35秒才能返回〜1500数据,并且在共享主机上使用原始php花费了大约1.2秒。
我搜索了几个小时才找到问题,但什么也没发现。吉列的答案给了我一个想法,可以用来衡量执行查询的时间。执行时间表明,雄辩的方法没有什么问题,而是问题在return语句内部。我遵循的用于创建api的教程使用了类似这样的内容-
return response()->json([$data]);
我将其替换为-
return json_encode($data);
这个简单的更改将我的响应时间从大约30秒提高到了大约2.5秒。可能是json()方法只是一遍又一遍地迭代数据以生成json,这反过来又造成了巨大的响应延迟。因此,如果像我这样的新手正在尝试使用laravel / lumen解决延迟响应问题,这可能会有所帮助。 json()和json_encode()的参考。