cari

Rumah  >  Soal Jawab  >  teks badan

Laravel - Penggunaan CPU yang tinggi selepas penggunaan

Saya menghadapi masalah serius menggunakan aplikasi Laravel saya. Ini adalah tapak berita, tiada yang rumit. Seluruh halaman utama dicache dalam Redis sebagai HTML tulen, dan hasil pertanyaan juga disimpan dalam Redis, jadi penggunaan MySQL adalah sangat minimum. Aplikasi ini berfungsi sepenuhnya, jadi kami memutuskan untuk mengujinya dalam persekitaran pengeluaran pada waktu malam. Selepas penggunaan, kami mendapati bahawa penggunaan CPU melonjak kepada 90-100% pada semua 12 teras, jadi aplikasi berjalan sangat perlahan atau tidak sama sekali. Terdapat kira-kira 400 pengguna dan 17-20 permintaan sesaat.

Kami cuba menukar tetapan pelayan (cth. PHP-FPM) tetapi tidak berjaya. Kami menjalankan beberapa ujian menggunakan Penanda Aras Apache dan keputusan menunjukkan bahawa penggunaan CPU adalah sekitar 80-100% dengan 10 pengguna serentak. Seterusnya, kami mengulangi ujian menggunakan Laravel bersih (tanpa aplikasi kami) dengan hasil yang serupa.

Apa yang kami gunakan:

Kami mendapati bahawa cache Nginx boleh mengurangkan penggunaan CPU dalam aplikasi seperti Wordpress atau Drupal. Tetapi saya rasa Laravel tidak menggunakannya. Adakah Laravel perlu dikonfigurasikan untuk menggunakan proksi terbalik Nginx dan cache dalam beberapa cara yang istimewa?

Saya betul-betul tak tahu nak buat apa. Adakah sesiapa yang mengalami masalah yang sama?

P粉769413355P粉769413355244 hari yang lalu504

membalas semua(1)saya akan balas

  • P粉463840170

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

    Laravel berjalan hebat pada Nginx. Saya menggunakan Nginx untuk menjalankan aplikasi saya dalam bekas di Google Cloud tanpa sebarang masalah prestasi.

    Jika anda ingin menggunakan proksi pengekalan, yang ini berjaya untuk saya:

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

    }

    balas
    0
  • Batalbalas