NativeSession::startSession 在 laravel 中花费更多时间 - Sentinel

NativeSession::startSession taking more time in laravel - Sentinel

提问人:SteDS 提问时间:8/3/2023 最后编辑:SteDS 更新时间:8/4/2023 访问量:33

问:

根据新的遗物数据,NativeSession::startSession 在 Laravel 中花费了近 80% 的时间(6 秒)

/**
 * Starts the session if it does not exist.
 *
 * @return void
 */
protected function startSession()
{
    // Check that the session hasn't already been started
    if (session_status() != PHP_SESSION_ACTIVE && ! headers_sent()) {
        session_start();
    }
}

我的控制器逻辑需要不到 <800 毫秒,但整个请求和响应需要 ~7 秒。有时它会更快(<1 秒)。

对于会话,我使用的是 Redis,并且我发现 Redis 中没有会话锁定。因此,如果多个请求来自同一用户的同一会话,则根据理论,它不应阻塞。

新遗物数据截图

它可能类似于会话开始产生问题的session_start似乎很慢(但只是有时)

我希望一些请求不等待会话,因为它是只读的,不会损坏会话值

有什么解决方案可以解决这个问题或取消阻止请求吗?

拉维尔 卡塔利斯特-哨兵

评论

0赞 apokryfos 8/3/2023
什么是 Catalust Sentinel Native Session?要确保您在正确的位置查找问题,请尝试切换到内置的 Laravel 会话以查看问题是否仍然存在。此外,请尝试切换到文件驱动程序,看看是否有帮助。
0赞 Community 8/4/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。
0赞 SteDS 8/4/2023
@apokryfos 它是身份验证和授权框架。github.com/cartalyst/sentinel。我不确定我是否可以仅将会话更改为默认的 laravel。我需要检查

答: 暂无答案