Symfony 项目在本地执行缓慢

Slow execution of Symfony project locally

我有这个问题很久了,但是显示我的 Symfony 2 项目的简单页面越来越慢。

这是我的开发环境:

我真的不确定它来自 Symfony,尽管它在 symfony 项目中更明显(显示一个页面需要 4-5 分钟)。

即使从 wampserver 调用 phpmyadmin 也很长。

内存、CPU 或磁盘都没有问题。使用资源管理器检查,似乎一切正常。

那些是 Apache 日志。我有公里 :

PHP Fatal error: Maximum execution time of 90 seconds exceeded in C:\wamp\www\MyProject\app\cache\dev\classes.php on line 5270, referer: http://localhost/MyProject/web/app_dev.php/myURL?init
[Thu May 12 14:11:28 2016] [error] [client 127.0.0.1] PHP Stack trace:, referer: http://localhost/MyProject/web/app_dev.php/myURL?init
[Thu May 12 14:11:28 2016] [error] [client 127.0.0.1] PHP 1. Monolog\Handler\AbstractHandler->__destruct() C:\wamp\www\MyProject\app\cache\dev\classes.php:0, referer: http://localhost/MyProject/web/app_dev.php/myURL?init
[Thu May 12 14:11:30 2016] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 90 seconds exceeded in C:\wamp\www\MyProject\app\cache\dev\classes.php on line 5270, referer: http://localhost/MyProject/web/app_dev.php/myURL?init [Thu May 12 14:11:30 2016] [error] [client 127.0.0.1] PHP Stack trace:, referer: http://localhost/MyProject/web/app_dev.php/myURL?init [Thu May 12 14:11:30 2016] [error] [client 127.0.0.1] PHP 1. Monolog\Handler\AbstractHandler->__destruct() C:\wamp\www\MyProject\app\cache\dev\classes.php:0, referer: http://localhost/MyProject/web/app_dev.php/myURL?init [Thu May 12 14:11:32 2016] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 90 seconds exceeded in C:\wamp\www\MyProject\app\cache\dev\classes.php on line 5270, referer: http://localhost/MyProject/web/app_dev.php/myURL?init [Thu May 12 14:11:32 2016] [error] [client 127.0.0.1] PHP Stack trace:, referer: http://localhost/MyProject/web/app_dev.php/myURL?init [Thu May 12 14:11:32 2016] [error] [client 127.0.0.1] PHP 1. Monolog\Handler\AbstractHandler->__destruct() C:\wamp\www\MyProject\app\cache\dev\classes.php:0, referer: http://localhost/MyProject/web/app_dev.php/myURL?init [Thu May 12 14:13:04 2016] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 90 seconds exceeded in C:\wamp\www\MyProject\app\cache\dev\classes.php on line 5270, referer: http://localhost/MyProject/web/app_dev.php/myURL?init

有人知道我能做什么吗...我已经重新安装了几次我的软件,但它没有改变任何东西

感谢您的想法和任何帮助。

我做了什么来加快我本地机器上开发模式下的 symfony 执行时间:

  1. 安装PHP7.*,确实提高了性能。
  2. 已启用与 PHP
  3. 捆绑的 Opcache PHP 扩展
  4. realpath_cache_size设置为4048k
  5. 在 doctrine 配置中安装 redis 并启用元数据缓存。请记住,每次 add/change 实体文件都必须手动清除 redis 缓存。这是值得的,因为它在开发模式下将加载时间增加了大约 70-100 毫秒。
  6. 执行composer dump-autoload --optimize创建class地图。

在优化之前,我在开发模式下的加载时间约为 700-1000 毫秒,现在是 250-350 毫秒。

当然,数字在您的机器上会有所不同。

根据问题中的评论,我们得出的答案是,主要原因是 XDebug,它通常会对 PHP 性能产生重大影响。

您在命令中写道,Symfony 的分析器现在显示 3-6 秒,但实际上需要更多时间。这意味着 PHP 本身可能不是唯一的问题。

我建议查看浏览器的开发人员工具(Firebug 等,具体取决于您使用的浏览器)并检查“网络”选项卡中的时间线。也许它会给你进一步的信息去哪里寻找原因。

对于我的本地计算机,执行 Symfony 通常需要 PHP 大约一秒(在开发环境中;并且取决于缓存状态和它是什么页面)。