我打算制作一个API会有很多请求(每分钟最少约5000,但可能会更多)。我想知道哪个框架更适合:Laravel 5.2或Lumen?
Lumen是一个微框架,特别适用于API,但自从Laravel 5.2以来,它可以改变中间件。所以对于我的api我只能绑定我需要的中间件,所以没有身份验证等等。
这与加载完整框架的早期版本的Laravel有很大不同。那么自5.2以来仍然建议使用流明或者性能上的差异是非常非常小的吗?
答案 0 :(得分:1)
PHP框架有一些基准测试。以一种好的方式执行和阅读基准测试真的很难,但是他们仍然应该能够暗示它们之间的差异。这似乎是一个很好的来源:https://github.com/kenjis/php-framework-benchmark。这使得流明每秒发出412.36个请求,而Laravel每秒发出91.59个请求。如果您的API会有很多请求,那么您应该使用Lumen(或者更快的框架)。
如果可以的话,你也应该使用PHP7,因为与PHP5相比,性能提升很大。您可以显着降低内存负载的响应时间,例如,请查看this benchmark for Symfony。
禁用中间件以提高性能不是问题。 Laravel有different ways to register middleware。删除HTTP内核和路由中默认提供的所有中间件是一项小任务。但是,性能比中间件要多得多。 Laravel将引导许多你不需要的组件,这就是为什么Lumen最初创建的原因。我没有关于中间件如何影响性能的基准,但我认为它不是主要的性能降级。
答案 1 :(得分:0)
Lumen的表现会更快。除非你被要求做一些只有Laravel / Laravel包才能处理的非常复杂的操作,否则就去Lumen吧。
此外,如果您不打算将Lumen或Laravel的许多功能用于将要接收大量请求的特定端点,只需将该路由指向Nginx中的另一个PHP文件即可因为如果没有必要,加载所有Laravel或Lumen的组件是没有意义的。
祝你好运!