首页  >  问答  >  正文

Laravel - 部署后 CPU 利用率过高

我在部署 Laravel 应用程序时遇到严重问题。这是一个新闻网站,没什么复杂的。整个主页以纯 HTML 形式缓存在 Redis 中,查询结果也存储在 Redis 中,因此 MySQL 的使用量非常小。应用程序功能齐全,因此我们决定晚上在生产环境中对其进行测试。部署后,我们注意到所有 12 个核心的 CPU 使用率都跃升至 90-100%,因此应用程序运行速度非常慢或根本不运行。大约有 400 个用户,每秒 17-20 个请求。

我们尝试更改服务器设置(例如 PHP-FPM),但没有成功。我们使用 Apache Benchmark 进行了一些测试,结果表明,10 个并发用户的 CPU 使用率约为 80-100%。接下来,我们使用干净的 Laravel(没有我们的应用程序)重复测试,结果相似。

我们使用什么:

我们注意到 Nginx 缓存可以减少 Wordpress 或 Drupal 等应用程序中的 CPU 使用率。但我认为 Laravel 不使用它。 Laravel 是否需要配置为使用 Nginx 反向代理并以某种特殊方式进行缓存?

我真的不知道该怎么办。有人遇到过类似的问题吗?

P粉769413355P粉769413355180 天前422

全部回复(1)我来回复

  • P粉463840170

    P粉4638401702024-03-28 00:33:42

    Laravel 在 Nginx 上运行得很好。我使用 Nginx 在 Google Cloud 上的容器中运行我的应用程序,没有任何性能问题。

    如果您想使用保留代理,这个代理可以帮我完成这项工作:

    server {
    
    listen 80;
    
    your_news_app.com;
    
    location / {
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Host $host;
         proxy_set_header X-Forwarded-Proto $scheme;
         proxy_pass http://localhost:8000;
    }

    }

    回复
    0
  • 取消回复