symfony 2.8 AppKernel 缓慢

symfony 2.8 AppKernel slowness

提问人:andregoncalves 提问时间:6/4/2023 更新时间:6/4/2023 访问量:37

问:

我们需要您的帮助/意见,以解决我们在生产应用程序中遇到的一些缓慢的问题。一些上下文:我们有两个 AWS EC2 服务器 (t3a.2xlarge) 通过 php-fpm/nginx 运行 symfony 2.8 应用程序 (php 5.6),它主要连接到 mariadb,但有时也连接到 mongodb。

当我们的用户少于 ~700-800 时,性能还可以。不仅如此,我们开始遇到一些严重的性能问题,机器的CPU达到80-100%。

在其中一个时刻,对于一个简单的 API 调用,我们的 datadog 会显示以下跟踪:

symfony 2.8 trace

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 代码,因此这对我们来说仍然非常重要。

我非常感谢您在这方面的帮助。谢谢!

symfony 亚马逊-ec2 datadog php-5.6 symfony-2.8

评论

1赞 Wilson Hauck 6/4/2023
请从您的MariaDB请求其他数据库信息。操作系统、版本?RAM大小,#内核,MySQL主机服务器上的任何SSD或NVME设备?在 justpaste.it 上发布 TEXT 数据并分享链接。从您的 SSH 登录根目录,文本结果为:A) SELECT COUNT(*), sum(data_length), sum(index_length), sum(data_free) FROM information_schema.tables;B) 显示全球状态;至少 24 小时后 正常运行时间 C) 显示全局变量;D) 显示完整的流程列表;E) 状态;不是 SHOW STATUS,只是 STATUS;G) 显示引擎 INNODB 状态;用于服务器工作负载调优分析,以提供建议。

答: 暂无答案