Laravel - 部署后 CPU 利用率过高
P粉769413355
P粉769413355 2024-03-27 11:26:47
0
1
555

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

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

我们使用什么:

  • Laravel 9.0
  • 服务器:12 核、128 GB RAM
  • Plesk Obsidian 18.0.48、CentOS 7.9.2009
  • Apache Nginx 作为反向代理

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

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

P粉769413355
P粉769413355

全部回复(1)
P粉463840170

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;
}

}

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板