【问题标题】:Performance differences in PHP code with and without frameworks有和没有框架的 PHP 代码的性能差异
【发布时间】:2014-05-26 13:25:27
【问题描述】:

我们正在开始使用 PHP 开发一个基于 Web 的门户,它最初是一个原型,但预计会发展成一个相当大的系统。

性能是一个关键问题,因为系统应该具有足够的可扩展性以支持大量数量。用户数(例如 10 万用户)

在决定框架的过程中,我们有以下选择: 1. 使用核心 PHP/Smarty 模板 2.使用Laravel等框架。

考虑性能作为关键因素,使用 PHP/Smarty 模板与 Laravel 的优缺点是什么?

尽管与 Core PHP 或简单的模板框架相比,它的性能会受到影响,但是否仍然值得考虑 Laravel?

【问题讨论】:

  • 总是值得考虑一个框架...如果您正在查看 10 万 并发 用户,那么无论如何您都需要在开发网站时考虑到可扩展性。好的框架将通过为您提供许多扩展选项来提供帮助;并且性能开销并不那么重要。尽管您应该始终牢记它的存在,但在处理一个良好、可靠、可靠的框架时,它不应该是主要关注点
  • 谢谢,是否有任何基准来说明框架与核心 PHP 相比有多慢?
  • 不没有,也不可能有,因为这完全取决于您如何设计和编写代码....但请记住,框架通常也会为您的设计提供一致的风格,提供了很多不需要自己开发的内置工具,经过庞大的用户群测试(所以不需要自己测试框架,也经常为自己的代码提供测试工具) ),通常有据可查,对于未来加入项目的新开发人员来说,学习曲线通常比任何自制系统等都快
  • 基本上,自制代码通常会更快,因为您当时完全根据自己的需要自定义它,但随着用户群的增长,未来通常会产生大量的维护和开发成本并且您需要扩展并发现您经过严格优化的自制系统无法很好地扩展
  • 如果您对各种FW的基准测试感兴趣,请查看:techempower.com/benchmarks

标签: php laravel frameworks


【解决方案1】:

如果问题是:使用框架构建的应用程序是否比本地代码慢?那么答案是:Yes,或多或少,一个框架使用抽象层来简化开发过程,它(Framework)可能比原生的PHP代码需要一些额外的时间。

这真的很重要吗?

我认为这根本不是问题,没有足够的时间(差异)来捕捉差异,并且还建立了一个好的框架,牢记这一点。如果你使用了一个好的框架并且也正确地编写了优化的代码,那就没问题了,你不必担心。

根据您项目的大小,您应该决定使用什么,对于大型项目,我总是更喜欢框架。使用框架有很多好处,比如框架首先帮助你do more with less code,给你统一的API/Tools,以更少的努力轻松完成复杂的任务。一个好的框架可以让您构建可扩展且可维护的应用程序,其中大多数都由社区组织、测试和维护,因此您可以在许多情况下从社区获得帮助。

另外,当与许多团队成员一起开发应用程序时,最好让每个人都在同一个已知的文档框架上工作,而您自己的存档 PHP 代码可能并非如此,并且框架也将团队成员团结在一起编写代码的特定约定,因为每个人都遵循框架提供的相同规则。只要知道框架和新的团队成员可以轻松融入开发流程,就可以随时招募更多的团队成员。

既然你说100k用户,我认为它与数据库有关而不是编码,如果你有一个优化的数据库,那么它可能会给你更快的查询结果,是的也取决于你写的查询,他们也必须进行优化。

所以,我认为您应该使用一个框架,并且显然通过与您现在拥有的团队成员讨论来做出决定。 Laravel 是一个不错的选择,但只有性能/速度有一个不同的候选者,那就是 Phalcon,它与其他人不同,因为它是一个编译框架(c 库),这就是为什么它比其他人更快,也许迄今为止最快的。

但是,您仍然应该考虑Laravel 或类似的,因为Laravel 拥有比Phancon 更多的现成软件包和支持社区,并且很容易为一个众所周知的、广泛使用的框架找到帮助。这些是我的意见,但考虑使用框架,它会让你的生活更轻松。

流行的PHP 框架(Source)的性能基准:

【讨论】:

    猜你喜欢
    • 2012-04-14
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 2018-02-22
    • 2015-03-27
    相关资源
    最近更新 更多