gpt4 book ai didi

php - Laravel 5可以处理1000个并发用户而不会造成严重滞后吗?

转载 作者:行者123 更新时间:2023-12-02 11:27:17 26 4
gpt4 key购买 nike

我想知道,如果同时有1000个用户同时使用laravel 5构建的网站并定期查询数据库,那么laravel 5的性能如何?
我知道这会很慢,但是会难以忍受会非常慢吗?
请注意,我也将大量使用ajax。

并假设我正在使用具有以下配置的 digital ocean 云服务

2GB memory
2 vCPU
40GB SSD

我不希望有完全真实的数字,因为这是不可能的,但至少会提供一些细节,确定我是否应该以相当不错的性能使用laravel。

还请提供一些工具,通过这些工具我可以检查laravel 5应用程序的速度,以及在有实际负载时它将如何执行,以及我可以用来测试速度和性能的其他工具。

如果有人有使用laravel的真实经验,尤其是Laravel 5,那就太好了。

那么Lumen真的能使应用程序比laravel快多少呢?

最佳答案

简而言之,是的。至少有较新版本的Laravel可以使用(Laravel 7. *)
话虽如此,这实际上是一个三部分的难题。

1. Laravel(Php)

  • High Concurrency Architecture And Laravel Performance Tuning


  • 老实说,我无法提供这篇令人惊讶的文章所提供的一半细节。从 并发一直到 pre-optimization times vs. after-optimization times.的定义,他一应俱全



    2.读取,写入和分区持久性数据(数据库)
  • MySQL vs. MongoDB


  • 如果真正关心的是Php的Laravel,还是更多的数据库读写速度计时瓶颈,我会很好奇。非关系数据库是一项令人难以置信的技术,它比传统的关系数据库更能从大数据中受益。
  • 非关系数据库(Mongo)的读取速度比MySql快得多(如果我没记错的话,读取速度要快60%)
  • 非关系数据库(Mongo)的写入速度确实较慢,但这通常不会阻碍用户体验
  • 与关系数据库(MySQL)不同,Mongo DB可以将真正进行分区,并分布在多个服务器上。
  • Mongo DB具有文档集合,集合与表非常相似,文档与行非常相似。
  • 不同之处在于,MongoDB具有非常像JSON的感觉。 (文档集合,每个文档看起来像一个JSON对象)。
  • 巨大的区别和好处是,每个文档-AKA行-没有相同的键。在财富500强项目中使用mongo DB时,当时的我的指导者和负责人Logan给出了惊人的报价。

  • "Mongo Don't Care"



    这意味着您可以按照想要的方式对数据进行整形,因此不仅读取速度更快,而且通常不必从多个表中检索数据,也不会降低速度。

    这是一个经过个人测试和喜爱的软件包,用于在Laravel中设置MongoDB
  • Jessengers ~ MongoDB In Laravel

  • 如果您担心大量用户和传输数据,MongoDB可能就是您想要的。到此,让我们继续讲第三点,也是最重要的一点。

    3.无服务器架构(也称为水平缩放)

    Aws,Google Cloud,Microsoft Azure等...我确定您已经听说过 The Cloud

    最终,这是您在遇到并发问题并希望保持在Laravel领域内时要寻找的东西。

    这是一个令人难以置信的全新工具世界,您可以使用它们-它们真棒。它也是一个全新的,相当庞大的工具和学习世界。

    首先,让我们深入了解一些 无服务器概念。
  • 基础架构代码 Terraform

    "Use Infrastructure as Code to provision and manage any cloud, infrastructure, or service"

  • 通过
  • 水平缩放示例云端

    "Create a Laravel application. It's a single application, monolithic. Then you dive Cloud. You discover Terraform. Ahaha, first you use terraform to define how many instances of your app will run at once. You decide you want 8 instances of your application. Next, you of course define a Load Balancer. The Load Balancer simply balances the traffic load between your 8 application instances. Each application is connected to the same database, ultimately sharing the same data source. You're simply spreading out the traffic across multiples instances of the same application."

  • 当然,我们可以最简单地解决云问题,然后深入研究lambda,这是无服务器的而不是要做的事情,设置您的内部虚拟云网络...

  • 或...我们要先感谢Laravel团队简化了无服务器架构
  • 是,Laravel简化了无服务器(请大声疾呼Laravel团队)
  • Serverless Via Laravel Vapor

  • Laravel Steam 开放段

    "Laravel Vapor is an auto-scaling, serverless deployment platform for Laravel, powered by AWS Lambda. Manage your Laravel infrastructure on Vapor and fall in love with the scalability and simplicity of serverless."



    快结束了,让我们总结一下。

    关注性

    Ability to handle a certain amount of traffic in a set amount of time



    带有潜在解决方案的潜在瓶颈

    Laravel和Php
  • (High Concurrency Architecture And Laravel PerformanceTuning

  • 数据库和有效地持久化/检索数据
  • Jessengers ~ MongoDB In Laravel

  • 用于水平扩展的无服务器架构
  • Serverless Via Laravel Vapor
  • 关于php - Laravel 5可以处理1000个并发用户而不会造成严重滞后吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47545427/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com