我正在开发一个PHP / MySQL社交网络项目,该项目将包含许多模块/部分,包括:
最初我曾计划使用Laravel框架构建所有内容,因为它简直太棒了,并且已经做了很多工作。
我现在正在质疑这一点。我还没有开始任何代码,所以这不是决定的因素。
此外,构建网站/应用程序的任何部分所需的时间并没有超出性能。
因此,如果Laravel导致性能下降而不是从头开始构建,但节省了大量时间。如果这意味着更好的性能和更好的长期性,那么我宁愿花费大量的额外时间从头开始构建。
回到2006年左右,我建立了MySpace和Facebook的社交网络混合体,并没有使用框架。它使我能够100%控制一切的各个方面和更高的性能,因为随着我的网络规模和流量的增长,我能够真正地调整和优化所有内容。我认为在使用大框架时你会失去一些低级别的优化功能吗?我的问题很容易被误解为基于意见的问题。然而,在某种程度上,它的核心应该是合法的,理论上如果性能是随着时间的推移而建立的优先事项,那么它应该是更好的途径。
我只使用像Laravel这样的框架构建低流量应用程序,所以我没有使用像Laravel这样的框架构建高流量应用程序的经验,所以我不知道与没有框架相比它们的表现如何。
我所有的高流量应用都没有框架。
基于我上面列出的模块/部分的类型。 Laravel可以在高流量和大规模的级别上处理这些类型的应用程序吗?
答案 0 :(得分:3)
这个问题有点模糊 - 首先,您对高流量的定义是什么?
在我工作的地方,我们运行一个由完整代码构建的手工组合,以及由laravel应用程序提供服务的区域(这是嵌入在主站点中,并提供与旧应用程序代码的其余部分一样多的流量)
在使用laravel构建的区域中没有减速(使用相同的数据库源并且它在相同的Web服务器上运行 - 对基准测试非常有用)。
<强>注意事项:强>
原始的手工构建代码较旧,并不总是利用较新的PHP方法/设计类型。这意味着它没有尽可能高效。然后你就可以用laravel来做你可能并不总是需要/想要继续做的事情。
总结
归结为在laravel中模拟你认为应用程序中最重要的部分,然后再使用自定义的基础代码。然后对它进行基准测试。
你很可能会发现(好)手工制作的工作会更快。值得那几毫秒?那就是个人选择。 Laravel能够处理大量流量,但可以肯定的是,您可以通过不使用它来节省一小部分时间。
这对你正在做的事情有多重要?如果某些东西减慢并导致Laravel中的问题 - 改变它。毕竟它是开源的。
供参考(如果您将此视为高流量,请自行决定 - 我会):
这是一个英国的SASS,通常为英国游客提供服务。今晚9点(周五晚上 - 实际上是我们最安静的时间之一),我们目前有大约250,000个活跃的PHP会话正在进行中。
系统通过6个Web服务器 [用于冗余,流量负载等] (负载平衡)为PHP应用程序提供服务。