Php Symfony 5 TraceableFirewallListener非常慢
我对Symfony比较陌生。我目前正在与Symfony&Docker合作开发一个原型 今天,我通过登录实现了AuthenticationService(如下所示:)。当我现在加载应用程序时,服务器响应时间约为1500毫秒。如果没有此身份验证,响应时间约为70毫秒 我打开了探查器,似乎“TraceableFirewallListener”需要很多时间。 我已经尝试过comman TIPP(更改为prod env,取消调试的标签) 我真的不知道为什么要花这么长时间,但我很确定这不可能是正常的。我也不想从这里()实现“解决方案”,因为这对我来说似乎是一个非常糟糕的做法 我的保安亚姆在下面。如果你还需要什么,请问我,我会帮你的 提前谢谢你的帮助 更新 安装blackfire并找到一些有趣的图表,这可能会有所帮助:Php Symfony 5 TraceableFirewallListener非常慢,php,performance,symfony,symfony-security,symfony5,Php,Performance,Symfony,Symfony Security,Symfony5,我对Symfony比较陌生。我目前正在与Symfony&Docker合作开发一个原型 今天,我通过登录实现了AuthenticationService(如下所示:)。当我现在加载应用程序时,服务器响应时间约为1500毫秒。如果没有此身份验证,响应时间约为70毫秒 我打开了探查器,似乎“TraceableFirewallListener”需要很多时间。 我已经尝试过comman TIPP(更改为prod env,取消调试的标签) 我真的不知道为什么要花这么长时间,但我很确定这不可能是正常的。我也不
为什么我的响应时间这么长?我该怎么把它缩短呢 结果是,它与验证器本身没有任何关系。Symfony根本无法使用缓存,这导致每次请求都会重新生成/重建LoginFormAuthenticator。在这种情况下,响应时间长可能是因为此服务使用了很多类,并且每个类都被重新创建 对我来说,解决办法是1。将“var”文件夹添加到.dockrignore,以便在生成时不会将目录复制到容器中。其次,我必须删除完整“app”文件夹的挂载(其中包含“var”文件夹和其中的缓存)。别忘了“重新装载”必要的文件夹。我认为这个问题首先发生的原因是,我确实在我的主机上创建了symfony项目,并且认为所有东西都必须在容器中。似乎这导致没有使用缓存的权限 响应时间恢复到约70毫秒
security:
encoders:
App\Entity\User:
algorithm: auto
providers:
app_user_provider:
entity:
class: App\Entity\User
property: email
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: lazy
provider: app_user_provider
guard:
authenticators:
- App\Security\LoginFormAuthenticator
logout:
path: app_logout
access_control:
- { path: ^/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }