Pelayan khusus Nginx saya mempunyai 4 teras CPU dan memori 16GB, sumbernya sepatutnya mencukupi, tetapi ia kerap ranap (dengan ralat 504) disebabkan oleh pengehadan yang berkaitan dengan subproses CPU dan PHP.
Saya cuba mengetahui sebabnya. Dalam WordPress, saya mempunyai amaran berikut: Sesi PHP telah dibuat melalui panggilan fungsi session_start(). Ini mengganggu REST API dan permintaan gelung balik. Sebelum membuat sebarang permintaan HTTP, sesi hendaklah ditutup melalui session_write_close().
Bolehkah ini menyebabkan ralat 504?
API REST sepatutnya tidak mempunyai kewarganegaraan. Dalam kes ini, sesi itu tidak berguna. Sukar untuk mengetahui dengan pasti tanpa maklumat lanjut. Ralat 504 (tamat masa) mungkin berlaku jika PHP memulakan sesi di latar belakang tanpa konfigurasi yang betul (mis. Redis), di mana pengendali sesi tersuai boleh menyimpan sesi. Gunakan
Cari log PHP anda dan tetapan lain. Siarkan di sini. Anda juga boleh menggunakan shell untuk melihat konfigurasi.
Sila ambil perhatian bahawa kebanyakan sistem menjalankan tetapan PHP yang berbeza untuk permintaan cli dan web. Gunakan
top
或htop
untuk melihat alatan sistem yang memproses keputusan dengan penggunaan CPU dan memori yang tinggi.