Laravel可以处理高流量应用吗?

Jas*_*vis 5 php mysql laravel laravel-5

我正在开发一个PHP/MySQL社交网络项目,该项目将包含许多模块/部分,包括:

  • 用户系统(权限,配置文件,设置等...)
  • stackoverflow样式徽章和信誉点系统
  • 墙/朋友的帖子
  • 论坛
  • 消息系统
  • 投资组合
  • 博客
  • 代码片段
  • 书签
  • 以及其他几个部分......

最初我曾计划使用Laravel框架构建所有内容,因为它简直太棒了,并且已经做了很多工作.

我现在正在质疑这一点.我还没有开始任何代码,所以这不是决定的因素.

此外,构建网站/应用程序的任何部分所需的时间并没有超出性能.

因此,如果Laravel导致性能下降而不是从头开始构建,但节省了大量时间.如果这意味着更好的性能和更好的长期性,那么我宁愿花费大量的额外时间从头开始构建.

回到2006年左右,我建立了MySpace和Facebook的社交网络混合体,并没有使用框架.它使我能够100%控制一切的各个方面和更高的性能,因为随着我的网络规模和流量的增长,我能够真正地调整和优化所有内容.我认为在使用大框架时你会失去一些低级优化功能?

我的问题很容易被误解为一个基于意见的问题.然而,在某种程度上,它的核心应该是合法的,理论上如果性能是随着时间的推移建立的优先级,那么它将是更好的途径.

我只使用像Laravel这样的框架构建低流量应用程序,所以我没有使用像Laravel这样的框架构建高流量应用程序的经验,所以我不知道它们与没有框架相比表现如何.

我所有的高流量应用程序都没有框架.

基于我上面列出的模块/部分的类型.Laravel能否在高流量和大规模的水平上处理这些类型的应用?

Ben*_*rth 3

这个问题有点模糊 - 首先,你对高流量的定义是什么?

在我工作的地方,我们运行从头开始手工构建的代码和由 Laravel 应用程序提供服务的区域的组合(它嵌入在主站点中,并提供与旧应用程序代码的其余部分一样多的流量)。

使用 Laravel 构建的区域根本没有放缓(使用相同的数据库源并且在相同的 Web 服务器上运行 - 对于基准测试非常有用)。

注意事项:

最初的手工构建代码较旧,并且并不总是利用较新的 PHP 方法/设计类型。这意味着它的效率并没有达到应有的水平。然后你会因为 Laravel 做一些你可能并不总是需要/想要进行的事情而产生开销。

加起来

归根结底就是在 Laravel 中模拟您认为应用程序中最重的部分,然后再次使用自定义基础代码。然后对其中的垃圾进行基准测试。

您很可能会发现(好的)手工制作工作会更快。值得那些毫秒吗?好吧,这取决于个人选择。Laravel 完全有能力处理大量流量,但当然,如果不使用它,您可能会节省少量时间。

这对你正在做的事情有多重要?如果有什么东西减慢了 Laravel 的速度并导致你在 Laravel 中出现问题 - 改变它。毕竟它是开源的。

仅供参考(取决于您是否将其视为高流量 - 我会):

这是一家位于英国的 SASS,通常为英国游客提供服务。今晚 9 点(周五晚上 - 实际上是我们最安静的时间之一),我们目前有大约 250,000 个活跃的 PHP 会话正在进行。

该系统通过PHP 应用程序的6 个 Web 服务器[用于冗余、流量负载等] (负载平衡)提供服务。