【问题标题】:Laravel or Phalcon for a heavy-traffic site [closed]Laravel 或 Phalcon 用于大流量站点 [关闭]
【发布时间】:2014-09-19 19:15:47
【问题描述】:

我来自 Codeigniter 背景。我已经用了三年了,真的很喜欢。它的简单性很棒。

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

这种变化的主要原因是一个潜在的大项目即将到来。它不会有很多用户(可能最多 100 个),但服务器产生的出站流量会很大。该项目将通过 FTP 一个接一个地传输数千个文件(大小从 1mb 到几百 mb)。它还处理上传数百个文件的用户。

这个项目的关键是速度。系统需要尽可能快地运行脚本(每次通过 FTP 发送文件以收集文件、文件类型和目标时,它都会运行一个长脚本)以尽量减少性能问题。我知道文件的传输只会尽可能快,因为服务器可以做到这一点,并且真的和最慢的瓶颈一样快,但在这里我试图尽可能地减少代码中的瓶颈。

经过一番研究,我喜欢 Laravel 的外观,并安装了它以掌握它。但是它的速度可能是一个问题,因为它被测试比 Codeigniter 慢吗?大流量和大量 PHP 解析会减慢我知道 Phalcon 是基于 C 的,因此使其成为最快的框架,Phalcon 会是更好的选择吗?

任何想法都非常感谢:)

【问题讨论】:

  • 我在一些高负载项目中使用 Phalcon,它非常快(项目是从 Silex 重写的)。我没有使用 Laravel,但基准测试表明它要慢得多。
  • 取决于您编写的代码。一个编写良好且经过优化的 Web 应用程序总是比一个糟糕的应用程序更快,无论它是用什么框架编写的。
  • @MartinBean - 自然是的。但是为了争论,我们假设该网站是用好的、优化的代码编写的。
  • 我也有类似的情况。那你选了什么?
  • 我在这里找到了最好的比较:vschart.com/compare/phalconphp/vs/laravel

标签: php laravel phalcon


【解决方案1】:

如果只是关于速度,请查看以下基准:
http://systemsarchitect.net/performance-benchmark-of-popular-php-frameworks/

我会选择 phalcon,因为它是在 c 级别创建的,基本上与 php 本身相同。

编辑:

截至撰写本文时,上述网站已无法正常运行。以下是来自 archive.org 的快照: https://web.archive.org/web/20160329072449/http://systemsarchitect.net:80/2013/04/23/performance-benchmark-of-popular-php-frameworks/

【讨论】:

  • 是的,该链接中的性能基准是我最初对 Phalcon 感兴趣的原因之一。
  • Laravel + HHVM 会是一个有竞争力的选择吗?
  • @Unnawut 我会这么说,但这与框架没有太大关系,很确定你也可以让 phalcon + HHVM 运行,这会比更快。
  • 我不确定是否可以使用 Phalcon + HHVM:forum.phalconphp.com/discussion/1353/hhvm。但是,是的,你有一个很好的观点。无论如何,Phalcon 可能会运行得更快,因为用 C 原生编写可能会进行更好的优化。
【解决方案2】:

我不确定您的问题是否会因为它是一种意见而被删除(您根据指南和所有内容都知道)

但是 IMO - 尽管 Phalcon 的 C 构建速度很快,但我发现(作为 Laravel 3 用户在其退役之前从 Codeigniter 过渡)现在使用 Laravel 4 - 它与已知网络和架构有很多集成。

不要抨击 Phalcon,因为我很少使用它,但这里有一些 Laravel 的要点:

  1. 使用 composer 轻松模块化:所有包都可以从 composer 按照当前 PSR 标准导入,以便快速部署 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/

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

现在是 Phalcon 与 Laravel 的子弹速度: 通过 Laravel + APC + 其他一些调整,您可以实现接近它的目标,同时为您提供从 Laravel 中获得的所有灵活性。

最后,如果您需要并排比较: http://vschart.com/compare/phalconphp/vs/laravel

【讨论】:

  • 非常感谢您的意见。我之前确实检查了 vschart,这是比较的好方法。我不得不说 Laravel 是我的第一选择,但我仍然有些犹豫不决。
  • 推荐给初学者的是 Jeffrey Way 的 Laracast。有 18 个免费视频,包括适合初学者的 Laravel。如果您需要虚拟机,Taylor Otwell 还为 Laravel 特定设置开箱即用地制作了一个流浪操作系统……因此,您实际上可以在 1 小时内弄湿您的脚(下载时间而不是设置时间),这对于那些想试试。 @NoahGoodrich
猜你喜欢
  • 2010-09-29
  • 2018-07-22
  • 2011-01-15
  • 2018-10-12
  • 2012-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多