【发布时间】:2017-07-24 13:26:39
【问题描述】:
我的 PHP REST 服务有问题,它真的很慢。 我使用 Flight PHP 框架构建它。它正在访问 MySQL 数据库中的数据并将它们作为 json 返回。
Flight REST 服务:
Flight::route('GET /categories', function(){
header('Content-type: application/json');
$db = Flight::db();
$sql = "SELECT * FROM categories";
$stmt = $db->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll();
echo json_encode($result);
$db = null;
});
为什么完成请求需要这么长时间?
提前致谢!
【问题讨论】:
-
如果你的请求不需要数据库怎么办?例如。返回一个硬编码的字符串,比如 hello world?这样您就可以确定数据库数据检索是否是瓶颈。
-
只是一个长镜头,但如果你做 $db->query 而不是 prepare-execute,有什么改变吗?
-
您是否尝试过重新启动服务器。还要检查 Chrome 开发设置中的限制
-
@peter:我无法重新启动服务器,因为它来自虚拟主机
-
@Mihai: 没有改变任何东西,仍然需要 3 秒才能完成请求