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