Laravel或Phalcon适用于高流量网站吗?

16

我来自Codeigniter背景,使用它已经三年,并且非常喜欢它。它的简单易用性很棒。

我已经使用Codeigniter构建了大型网站,但现在我正在寻找一个新的PHP框架来学习。

更换原因是有一个可能很大的项目即将到来。该项目的用户不多(最多100个),但服务器产生的出站流量会非常大。该项目将通过FTP传输数千个文件(大小从1MB到几百MB不等),一个接一个地传输。并且涉及用户上传数百个文件。

对于这个项目来说,关键是速度。系统需要尽可能快地运行脚本(每次通过FTP发送文件时都会运行一个长脚本来收集文件、类型和目标),以最小化性能问题。我知道文件传输的速度只能取决于服务器的处理速度,而且真正的瓶颈取决于最慢的部分,但我在这里尝试尽可能地减少代码中的瓶颈。

经过一些研究,我喜欢Laravel的外观并安装了它来熟悉它。但是它的速度是否成为问题呢?因为据测试它比Codeigniter慢。在高流量和大量PHP解析的情况下,它会变慢吗?我知道Phalcon基于C语言开发,因此是最快的框架,Phalcon是更好的选择吗?

非常感谢您的任何想法 :)


3
我在一些高负载项目中使用Phalcon,它真的很快(这个项目是从Silex重写而来)。我没有使用过Laravel,但基准测试表明它要慢得多。 - Phantom
3
取决于您编写的代码。一个写得好且经过优化的Web应用程序,无论使用什么框架编写它,都将比质量较差的应用程序运行更快。 - Martin Bean
3
当然可以。但为了讨论,假设该网站使用了优秀、优化的代码。 - Noah Goodrich
我也处于类似的情况中。那么你选择了什么? - jithujose
我在这里找到了最好的比较:http://vschart.com/compare/phalconphp/vs/laravel - paulalexandru
2个回答

8
我不确定您的问题是否会因为它是一种观点而被撤下(您知道,根据指南和所有规定)
但是在我看来 - 尽管Phalcon基于C构建速度很快,但我发现(作为从Codeigniter转换到Laravel 3的用户,现在使用Laravel 4)它与已知网络和架构有很多集成。
这并不是要抨击Phalcon,因为我只是非常少地使用它,但是这里是一些关于Laravel的要点:
  1. 容易通过composer进行模块化:所有包都可以按照当前的PSR标准从composer导入,以便快速部署依赖项,这是Codeigniter所缺乏的。

  2. 它可以遵循任何你想要的风格:PSR-0和PSR-4。它是一个自然的MVC,但你也可以轻松地使用TDD(或BDD)和其他格式。虽然这对某些人来说是一个贫弱的点,但它提供了很多适应各种工作的灵活性。

  3. IoC内置于APP中。它非常易懂和全面,以便利用IoC

  4. Taylor Otwell非常积极地调整和优化框架。它是一个非常活跃的蓬勃发展的社区(Laracon NYC刚刚过去,接下来是Laracon Amsterdam),因此您不会缺少支持。

  5. 许多知名应用程序都与框架预集成,从队列(beanstalk,IronMQ)到邮件发送器(swiftmailer),甚至缓存系统(Redis或其他)。界面在功能方面非常直观 - 最坏的情况?只需扩展即可开始使用。

  6. 可读性:很多结构和ORM(如果你选择使用Laravel的本地ORM,称为Eloquent)都是关于代码可读性的,尽管底层复杂。所以它将正确扩展(许多转换过来的人都说了同样的话)。

以下是一些已经转换并像您一样感到疑惑的人们的进一步阅读材料: http://www.web-and-development.com/laravel-vs-codeigniter/

and http://mulzer.tumblr.com/post/24141993116/12-reasons-you-should-switch-from-codeigniter-to

现在关于Phalcon和Laravel速度的比较如下: 使用Laravel + APC + 其他一些调整,你可以接近Phalcon的速度,同时获得从Laravel中获得的所有灵活性。 最后,如果您需要一对一的比较,请参考以下链接:http://vschart.com/compare/phalconphp/vs/laravel

非常感谢您的意见。我之前确实查看了vschart,这是一个非常好的比较方式。我必须说Laravel是我的首选,但我仍然有些犹豫。 - Noah Goodrich
推荐初学者查看Jeffrey Way的Laracast。其中包括18个免费视频,包括面向初学者的Laravel。如果您需要虚拟机,Taylor Otwell还为Laravel特定设置制作了一个vagrant OS...因此,您实际上可以在不到1小时(下载时间而非设置时间)内开始尝试,这对于想要尝试的人来说是非常好的。@NoahGoodrich - azngunit81

7

是的,那个链接中的性能基准测试是我最初对Phalcon感兴趣的原因之一。 - Noah Goodrich
2
Laravel + HHVM会是一个有竞争力的选择吗? - Unnawut
@Unnawut 我会这么说,但这与框架没有太大关系,我相信你也可以运行phalcon + HHVM,那样会更快。 - herriekrekel
1
我不确定是否可以使用Phalcon + HHVM:http://forum.phalconphp.com/discussion/1353/hhvm。但是你说得对。Phalcon可能会更快,因为原生的C编写可能可以进行更好的优化。 - Unnawut

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接