我们尝试通过缓存字节码来优化性能(对此使用APC).虽然我们注意到了性能的巨大改善(之前:加载API约3秒;之后:平均0.6秒(比没有APC的旧系统还要慢0.5秒)),我们很兴奋 – 但仍然对于如此简单的任务的高加载时间,如从一个几乎空的数据库中获取一个结果,并不是非常满意.
我不知道,但我可以想象这是由于Symfony自动加载所有类,即使不需要特定的包.
现在,在我们深入六Symphony之前,我们希望进一步的优化,可能是排除不必要的组件在一个特定的捆绑包中的一种方式,因为我个人认为这会有很大的不同.
我会感谢任何有关如何进一步提高性能,使用Symfony的经验报告或可能有助于我们了解框架的任何想法.
编辑:
有关测试环境的一些信息:
>操作系统:Ubuntu 12.04.4 LTS(GNU / Linux 3.8.0-38-generic x86_64)
> Apache版本:Apache / 2.2.22(Ubuntu)
> PHP版本:5.3.10-1ubuntu3.13
>相当大的PHP扩展:apc
此外,所有测试都是在我们系统的本地副本上完成的,因此可能会排除网络问题.
>升级PHP. PHP 5.3和PHP 5.4之间的性能提升非常高. PHP 5.5会更好,但它不支持所有发行版,如Debian 7.
> Nginx比Apache快,配置更简单.
>使用PHP-FPM与Nginx是一个很好的组合.您还可以使用HHVM运行您的PHP,平均比PHP-FPM快2倍,前提是您用Grunt替换Symfony / Assetic.注意:在安全部署之前,HHVM需要更多的预防和测试.您可以按照这两篇文章(法文):JoliCode和Big Brains Company
>不支持PHP APC扩展.我认为XCache,Memcached或Redis是更好的,它们也是最受支持的.对于PHP> = 5.5,APCu可用作APC的替代品.
此外,您可以阅读几篇关于Symfony2优化的文章,并提供Twig基准测试.
> Script high-performance法文
> Comparison of PHP 5.3 and PHP 5.6 performance法文
> Check this article to apprehend the PHP optimisation法文
> Google’s recommendations for optimising PHP applications英文
> 10 best pratices to optimise PHP英文
Symfony2和Twig文章:
> Symfony documentation gives a few tips how to build a performant application英文
> Template optimisation法文
> Twig include optimisation法文
> Use @Cache annotation requests英文
> Symfony2: Good practices法文
>限制不必要的捆绑包的使用
> Symfony2 Twig performance optimisation英文
>如果你不想使用Twig Engine,you can disable it用法语
> Caching in Symfony从它的菜谱 – 真的令人印象深刻!
其他优化:
>也许你可以使用Ubuntu的更新版本.个人而言,我更喜欢使用Debian,它也很受服务器的青睐,因为它非常稳定.>使用像Varnish这样的缓存代理可以是一个整理.>清漆需要开发人员的含义,也可能是形成.使用Nginx FastCGI Cache将FastCGI请求限制到HHVM,FPM或PHP-NG可以解决速度响应.