提问人:andregoncalves 提问时间:6/4/2023 更新时间:6/4/2023 访问量:37
symfony 2.8 AppKernel 缓慢
symfony 2.8 AppKernel slowness
问:
我们需要您的帮助/意见,以解决我们在生产应用程序中遇到的一些缓慢的问题。一些上下文:我们有两个 AWS EC2 服务器 (t3a.2xlarge) 通过 php-fpm/nginx 运行 symfony 2.8 应用程序 (php 5.6),它主要连接到 mariadb,但有时也连接到 mongodb。
当我们的用户少于 ~700-800 时,性能还可以。不仅如此,我们开始遇到一些严重的性能问题,机器的CPU达到80-100%。
在其中一个时刻,对于一个简单的 API 调用,我们的 datadog 会显示以下跟踪:
AppKernel 需要 7 秒才能完成第一个 mysql 查询。该控制器操作代码非常简单,问题不在于该代码。在正常情况下,此调用总共需要 200 毫秒。我们在其他控制器操作中也遇到了同样的问题。我们已经对许多 php-fpm 和 opcache 参数进行了微调,以便:
pm.max_children: 216
pm.start_servers: 54
pm.max_spare_servers: 162
pm.min_spare_servers: 54
pm.process_idle_timeout: 10s
pm.max_requests: 500
realpath_cache_size: 4096k
realpath_cache_ttl: 300
我们基本上正在努力寻找这种缓慢的真正原因。这只是 cpu 的问题,因为 php5.6/symfony 2.8 是一个缓慢而古老的堆栈吗?或者我们可以进行一些微调,以使 AppKernel 变得更快?
尽管我们正在将所有这些堆栈迁移到更新的堆栈中,但我们仍然有大量使用 php 5.6 运行的 symfony 2.8 代码,因此这对我们来说仍然非常重要。
我非常感谢您在这方面的帮助。谢谢!
答: 暂无答案
评论