php – Symfony 2性能优化

前端之家收集整理的这篇文章主要介绍了php – Symfony 2性能优化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在寻找一个 PHP框架,以便日后使用,目前正在使用Symfony 2进行测试.为此,我们重新设计了我们的API,并将其作为Symfony的一个捆绑包实现.事实证明,Symfony似乎很慢 – 实际上比我们的老(甚至设计不佳)的系统慢得多.

我们尝试通过缓存字节码来优化性能(对此使用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需要更多的预防和测试.您可以按照这两篇文章(法文):JoliCodeBig Brains Company
>不支持PHP APC扩展.我认为XCache,Memcached或Redis是更好的,它们也是最受支持的.对于PHP> = 5.5,APCu可用作APC的替代品.

此外,您可以阅读几篇关于Symfony2优化的文章,并提供Twig基准测试.

PHP文章

> 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可以解决速度响应.

猜你在找的PHP相关文章