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

时间:2013-07-04 12:45:51

标签: symfony sylius

我跟着sylius' install instructions的作曲家,让我的本地副本正常工作。问题是当我去本地/ app_dev.php时需要很长时间才能加载,12-18秒。然而,探查器显示更快的时间......

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

5 个答案:

答案 0 :(得分:10)

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

按照sylius' getting started页面上的说明操作时:

$ wget http://getcomposer.org/composer.phar
$ composer.phar create-project sylius/sylius -s dev
$ cd sylius
$ app/console sylius:install

默认情况下,您使用config_dev.yml文件进行安装。这会将您的数据库设置为{dbname} _dev,并在app_dev.php中进行调试。当调试开启时"cache files are dynamically rebuilt on each request."这就是导致速度慢的原因。

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

神秘解决了:)。

有用的资源: How to Master and Create new Environments - Symfony2

答案 1 :(得分:4)

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

; php.ini

realpath_cache_size = 5M

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

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

; php.ini

[wincache]

wincache.enablecli=1

wincache.filecount=16384

WinCache似乎与Sylius的开发环境一样正常。

答案 2 :(得分:1)

Sylius比生产和开发模式的Symfony慢得多,尽管它建立在Symfony之上。原因是它的ResourceBundle。我确信有一些方法可以在生产中加速它,但无论如何它在开发过程中都很慢。

答案 3 :(得分:0)

我在使用默认同步文件夹设置的Vagrant设置上运行Sylius,发现它非常慢,最多加载45秒!其他的小Symfony项目并不是那么糟糕所以认为它只是Sylius,然后我读到Vagrant上的同步文件夹设置在Linux系统上可用的类型NFS更快,它从40秒减少到4秒! / p>

因此,如果你正在使用Vagrant并发现它很慢,请确保将同步文件夹设置为NFS。

答案 4 :(得分:0)

NFS会帮助你处理流浪的情况,但你仍然可以在更大的项目中找到它。 Docker在MACOSX上更糟糕。如果你使用的是Linux,我认为docker会为开发提供支持。此外,如果您使用PHP< 7移动到7.0(上层版本与Sylius atm存在一些问题),即使在开发环境中您也会看到性能的巨大提升。

还为您的Vagrant机器提供更多内存

相关问题