Activerecord Yii2慢活动记录

Activerecord Yii2慢活动记录,activerecord,yii2,Activerecord,Yii2,我有一个基于Yii2的web项目。最近我为它编写了一些RESTAPI。 我意识到,每个RESTAPI调用都有很长的响应时间。 1134ms、1250ms、1034ms等,因此平均响应时间基本上在1秒以上 客户机模型没有关系(客户机表是“独立”表) 我的测试表(客户端)包含173条记录(一行有10列)。我调试了问题并标记了相关行: ... $client_id = Yii::$app->request->post('client_id'); // client

我有一个基于Yii2的web项目。最近我为它编写了一些RESTAPI。 我意识到,每个RESTAPI调用都有很长的响应时间。 1134ms、1250ms、1034ms等,因此平均响应时间基本上在1秒以上

客户机模型没有关系(客户机表是“独立”表)

我的测试表(客户端)包含173条记录(一行有10列)。我调试了问题并标记了相关行:

    ...
    $client_id = Yii::$app->request->post('client_id');

    // client_id ellenőrzése (pl. blokkolt-e a mobil kliens)
    if (!empty($client_id)) {
        $client = Client::findOne($client_id);       <-----
    ...

登录页面需要32毫秒才能加载。

好的,经过半天的搜索,我找到了问题和解决方案。 在我设法启动Yii调试工具栏(ˋ2小时:)之后,我意识到:

在又花了几个小时之后,我找到了解决办法。 我必须替换此配置行:

'dsn' => 'mysql:host=localhost;dbname=test',


可能是MySQL没有监听IPv6套接字或其他配置导致了此问题,但现在平均响应时间为ᯱ53ms。

在您的客户机模型中,您有一些关系吗?没有,模型没有任何关系。请更新您的问题并添加客户机表架构。。请问您为什么同时拥有id和客户id?:)我的客户希望在UI(gridview和表单)中看到自动增加的数量。但是客户端id来自移动设备,因此id和客户端id不能相同。
'dsn' => 'mysql:host=localhost;dbname=test',
'dsn' => 'mysql:host=127.0.0.1;dbname=test',