Php Laravel查询延迟和';会议';查询数据库';文件';司机使用

Php Laravel查询延迟和';会议';查询数据库';文件';司机使用,php,mysql,laravel,laravel-5.1,Php,Mysql,Laravel,Laravel 5.1,我目前正在为一个项目使用Laravel,我的web服务器最近开始在页面加载时运行得非常慢,因此每个页面在加载前可能需要8秒钟 到目前为止,我已经确定缓慢不是由以下原因造成的: DNS问题;当我直接导航到服务器的IP地址时发生问题 阿帕奇问题;带有“PHPinfo()”的空白PHP文件会立即加载,不会有任何延迟 负荷;服务器的CPU使用率从未超过20% 按照上述步骤,问题只会出现在实时环境中,在这里,我的开发环境没有任何延迟的迹象 在分析一些缓存研磨日志后,我发现PDOStatement->e

我目前正在为一个项目使用Laravel,我的web服务器最近开始在页面加载时运行得非常慢,因此每个页面在加载前可能需要8秒钟

到目前为止,我已经确定缓慢不是由以下原因造成的:

  • DNS问题;当我直接导航到服务器的IP地址时发生问题
  • 阿帕奇问题;带有“PHPinfo()”的空白PHP文件会立即加载,不会有任何延迟
  • 负荷;服务器的CPU使用率从未超过20%
按照上述步骤,问题只会出现在实时环境中,在这里,我的开发环境没有任何延迟的迹象

在分析一些缓存研磨日志后,我发现
PDOStatement->execute
调用占用的延迟量最大

然后,我启用了
long\u query\u time
登录MySQL以进一步确定问题。我的调查结果表明,我的大多数查询执行得很快,不到一秒钟;然而,我发现执行的任何
site\u会话
查询都要花费6秒钟的时间才能执行

作为进一步的故障排除步骤,我尝试将我的
会话
驱动器临时更改为
文件
,而不是
数据库
;但是,我发现在每次页面加载之后仍在执行以下查询:

# Time: 150813 23:37:12
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 3.035622  Lock_time: 0.000022 Rows_sent: 0  Rows_examined: 1
SET timestamp=1439509032;
update `site_sessions` set `payload` = 'YTo1OntzOjY6Il90b2tlbiI7czo0MDoibHk0YVo2MG16c09acTBTSnVnYUlJVTFNM0VrU3B2ekdiRFJyYmRzWiI7czo5OiJfcHJldmlvdXMiO2E6MTp7czozOiJ1cmwiO3M6MjY6Imh0dHA6Ly93d3cuY29ycGxlYWd1ZXMuY29tIjt9czo1OiJmbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX1zOjM4OiJsb2dpbl84MmU1ZDJjNTZiZGQwODExMzE4ZjBjZjA3OGI3OGJmYyI7czoxOiIxIjtzOjk6Il9zZjJfbWV0YSI7YTozOntzOjE6InUiO2k6MTQzOTUwOTAyODtzOjE6ImMiO2k6MTQzOTQ5Nzc5MjtzOjE6ImwiO3M6MToiMCI7fX0=', `last_activity` = '1439509029' where `id` = 'ba62f70745c5455611c3fe3bf008fa213c22a7f9';
# Time: 150813 23:37:27
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 1.071487  Lock_time: 0.000026 Rows_sent: 0  Rows_examined: 1
SET timestamp=1439509047;
update `site_sessions` set `payload` = 'YTo1OntzOjY6Il90b2tlbiI7czo0MDoiOGhiVVVobTFjTERrU1ZXR25weTdMWHlQRlMzTmtkOWhIZzFSdHQ1QSI7czo5OiJfcHJldmlvdXMiO2E6MTp7czozOiJ1cmwiO3M6MjY6Imh0dHA6Ly93d3cuY29ycGxlYWd1ZXMuY29tIjt9czo1OiJmbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX1zOjM4OiJsb2dpbl84MmU1ZDJjNTZiZGQwODExMzE4ZjBjZjA3OGI3OGJmYyI7czoxOiIxIjtzOjk6Il9zZjJfbWV0YSI7YTozOntzOjE6InUiO2k6MTQzOTUwOTA0NjtzOjE6ImMiO2k6MTQzOTUwNDQzODtzOjE6ImwiO3M6MToiMCI7fX0=', `last_activity` = '1439509046' where `id` = 'c3e95cf7c317ad340aa28c61bf323e008eaa5ff0';
有谁能解释一下这个问题,或者提供其他故障排除步骤来帮助我确定根本原因吗

非常感谢您的反馈

编辑

以下是
表格状态
信息:

+--------------------------------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
| Name                                             | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Collation       | Checksum | Create_options | Comment |
+--------------------------------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
| site_sessions                                    | InnoDB |      10 | Compact    |   18 |            910 |       16384 |               0 |        16384 |  10485760 |           NULL | 2015-07-20 03:40:32 | NULL        | NULL       | utf8_unicode_ci |     NULL |                |         |
+--------------------------------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
我的
session.php
文件:

<?php
return [
    'driver' => env('SESSION_DRIVER'),
    'lifetime' => 320,
    'expire_on_close' => true,
    'encrypt' => false,
    'files' => storage_path().'/framework/sessions',
    'connection' => null,
    'table' => 'sessions',
    'lottery' => [2, 100],
    'cookie' => 'clgs_session',
    'path' => '/',
    'domain' => null,
    'secure' => false,
];
需要注意的是,
user\u id
字段帮助我确定哪些用户与每个会话关联,以便获得当前在线的用户列表。我从来没有遇到过这方面的问题

我是否可以执行其他故障排除步骤来确定慢速查询


谢谢

您在会话表中的
id
列上有索引吗?另外,我们可以查看您的
session.php
config文件吗?@Scopey我已经添加了所需的所有信息。谢谢
mysql> SHOW CREATE TABLE site_sessions;

 CREATE TABLE `site_sessions` (
   `id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
   `payload` text COLLATE utf8_unicode_ci NOT NULL,
   `last_activity` int(11) NOT NULL,
   `user_id` int(10) unsigned DEFAULT NULL,
   UNIQUE KEY `sessions_id_unique` (`id`),
   KEY `sessions_user_id_index` (`user_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci