【发布时间】:2016-12-15 16:59:22
【问题描述】:
我正在构建一个大型 PHP Laravel 应用程序。它是一款面向开发者的应用,由许多较小的应用/模块组成。
例如,一个类似于 PinBoard 的书签应用、一个类似于 Evernote 的笔记本应用、代码片段应用、RSS 提要阅读器,以及大约 30 个小应用,所有应用都在一个应用中,每个应用都充当一个模块。
我的问题是关于性能的。加载了这么多模型和控制器等,我不能指望这个应用在庞大的用户群中获得良好的性能吗?
我意识到有太多未知的因素,比如服务器设置等等,但更多,所以我想问的是模型和东西等都是在应用程序初始化上加载还是仅在需要时加载?很多时候大多数应用程序/模块不会在请求中使用。
我看到了一些添加模块的包,这些模块拥有自己的控制器、模型、路由、视图以及您在每个模块的 App 文件夹中看到的所有内容。但是我不确定我是否想走那条路,所以现在我像往常一样在主应用程序下拥有一切。
【问题讨论】:
-
适当的缓存,你可以构建任何东西......
-
如果没有信息,我认为没有有用的答案。您在整个程序中拥有的模型/控制器的数量无关紧要。只有在给定请求中使用的文件才重要,即使这样,这些文件的“大小”也并不重要。
-
根据需要加载模型和控制器。你可能有十亿个模型类型,但
Foo::all()只会加载其中一个模型的 PHP 文件。
标签: php performance laravel laravel-5.3