为什么sylius在dev中的本地运行速度如此之慢?

Kir*_*chs 6 symfony sylius

我按照sylius的安装说明进行作曲,并让我的本地副本正常工作.问题是当我去本地/ app_dev.php时需要很长时间才能加载,12-18秒.然而,探查器显示更快的时间......

此外,安装说明不解释如何使本地/ app.php工作或生产环境.任何信息都有帮助 :).

Kir*_*chs 10

首先让我感谢@Florian的链接和推动让我挖掘一点:).

按照sylius'入门页面上的说明操作时:

$ wget http://getcomposer.org/composer.phar
$ composer.phar create-project sylius/sylius -s dev
$ cd sylius
$ app/console sylius:install
Run Code Online (Sandbox Code Playgroud)

默认情况下,您使用config_dev.yml文件进行安装.这会将您的数据库设置为{dbname} _dev,并在app_dev.php中进行调试.当调试打开时"在每个请求上动态重建缓存文件".这就是导致速度慢的原因.

关于使用app.php(生产环境),你可以运行app/console sylius:install -e prod.这将设置一个常规数据库,您可以使用app.php.

谜团已揭开 :).

有用的资源: 如何掌握和创建新环境 - Symfony2


Ogg*_*ggy 5

如果您使用的是 Windows,请确保按照 SensioDistributionBundle 的建议,在 php.ini 中将“realpath_cache_size”设置为至少 5M。就像这样:

; php.ini

realpath_cache_size = 5M
Run Code Online (Sandbox Code Playgroud)

在我的开发环境中运行的 Sylius 安装中,加载时间从约 15 秒减少到约 2 秒。

为了进一步减少加载时间,您可以考虑使用 WinCache https://sourceforge.net/projects/wincache/。我在使用 PHP 的内置 Web 服务器运行 Sylius 时使用以下设置:

; php.ini

[wincache]

wincache.enablecli=1

wincache.filecount=16384
Run Code Online (Sandbox Code Playgroud)

WinCache 似乎在 Sylius 的开发环境中工作得很好。