我想知道,如果1000个用户同时使用由laravel 5构建的网站,并定期查询数据库,那么laravel 5的性能如何?我知道它会很慢,但它会非常慢到让人无法忍受吗?请注意,我还将大量使用ajax。
假设我使用的是数字海洋云服务,配置如下
2GB memory
2 vCPU
40GB SSD我不期望完全真实的数字,因为这是不可能的,但至少提供一些细节,我是否应该使用具有一些可观性能的laravel。
还请提供一些工具,我可以通过它们来检查我的laravel 5应用程序的速度,以及当有实际负载时它将如何执行,以及其他工具,我可以通过它们来测试速度和性能。
如果有人真正有使用laravel的经验,尤其是Laravel 5,那就更好了。
Lumen的应用程序真的比laravel快多少?
发布于 2020-05-30 01:53:48
简而言之,是的。至少更新版本的Laravel支持(Laravel 7.*)。
话虽如此,这确实是一个三部分的难题。
Php 1.Laravel()
老实说,我不能像这篇令人惊叹的文章那样提供一半的细节。他囊括了从concurrency的定义到pre-optimization times vs. after-optimization times.的所有内容
2.读取、写入和分区持久化数据(数据库)
我很好奇真正的问题是Php的Laravel,还是更多的数据库读/写速度时间瓶颈。非关系数据库是一种令人难以置信的技术,与传统关系数据库相比,它对大数据的好处更大。
对象)。JSON
"Mongo不关心“
这意味着您可以根据需要对数据进行整形,这样不仅读取速度更快,而且通常不会因为必须从多个表中检索数据而变慢。
这是一个经过亲自测试和喜爱的包,用于在Laravel中设置MongoDB
如果你关心大量的用户和数据传输,MongoDB可能就是你想要的。说到这里,让我们继续第三点,也是最重要的一点。
3.无服务器架构(也称为水平扩展)
Aws、Google Cloud、Microsoft Azure等...我相信你一定听说过云。
最终,如果您遇到并发问题,并且希望停留在Laravel的范围内,那么这就是您要寻找的。
这是一个令人难以置信的工具的全新世界,人们可以不断地敲打--它们非常棒。它也是一个全新的,相当大的,学习工具和思想的世界。
首先,让我们深入了解几个无服务器概念。
作为代码的
“使用基础架构作为代码来调配和管理任何云、基础架构或服务”
通过
“创建Laravel应用程序。这是一个单一的应用程序,单块的。然后你潜入云中。你发现了Terraform。啊哈哈,首先你使用terraform来定义你的应用一次运行多少个实例。你决定你的应用程序需要8个实例。接下来,当然要定义一个负载均衡器__。负载均衡器只需在您的8个应用程序实例之间平衡流量负载。每个应用程序都连接到相同的数据库,最终共享相同的数据源。您只是将流量分散到同一application."的多个实例中
Or...we可以提前感谢Laravel团队简化了无服务器架构
- [**Serverless Via Laravel Vapor**](https://docs.vapor.build/1.0/introduction.html#what-is-vapor)
Laravel Vapor开篇段落
"Laravel Vapor是用于Laravel的自动扩展、无服务器部署平台,由AWS Lambda提供支持。在Vapor上管理您的Laravel基础设施,爱上无服务器的可扩展性和简单性。“
快结束了,让我们来总结一下。
Oringal Concern
能够在设定的时间内处理一定数量的流量
潜在解决方案的潜在瓶颈
Php&
数据库&高效地持久化/检索数据
适用于水平扩展的无服务器架构
发布于 2020-05-31 03:31:46
我将根据我作为软件开发人员的经验来尝试回答这个问题。老实说,每当同时达到1000个并发用户时,我肯定会要求升级,因为我不会冒服务器故障或数据故障的风险。
但让我们打破它如何设计它。
现在让我们回答你的问题
有没有检查性能的工具?你可以查看Laravel调试栏,这些工具提供了简单的性能报告。我自己鼓励你为你创建的每个特性做一个测试。您可以根据该单元测试创建一份报告,以找出哪些功能需要花费时间才能完成。
lume比laravel快吗?是的,Lumen更快,因为他们禁用了Laravel的一些功能。但请注意,泰勒似乎要stop Lumen for development。您应该为将来考虑这一点。
如果您了解性能,您可能不会选择Laravel进行开发。
keep-alive连接以减少连接延迟,但在Laravel中找不到它,因为它会在请求完成时处理连接。最后,您可能无法将Laravel与该服务器资源一起使用,除非您正在创建一个非常简单的应用程序。
发布于 2020-06-04 21:05:26
像这样的问题需要一个实数的答案:
幸运的是,这个guy已经在您想要尝试的类似条件下使用laravel forge完成了这项工作。
使用此php配置:
opcache.enable=1
opcache.memory_consumption=512
opcache.interned_strings_buffer=64
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0
opcache.save_comments=1
opcache.fast_shutdown=1结果:
Without Sessions:
Laravel: 609.03 requests per second
With Sessions:
Laravel: 521.64 requests per second所以回答你的问题:
有了这样的内存,你很难让1000个用户发出请求,使用4 4gb的内存,你就会有更好的状态。
https://stackoverflow.com/questions/47545427
复制相似问题