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