我在部署 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粉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; }
}