2017-04-21 16 views
6

Tôi có một trang web được tạo bằng Codeigniter, chạy trên Ubuntu với Nginx và PHP-FPM. Nó hoạt động tốt cho đến đêm qua, khi nó bắt đầu tải các trang thực sự chậm, đôi khi cho 504, lần tải trang khác nhanh.Nginx + php-fpm ngẫu nhiên treo

Nếu tôi khởi động lại nginx hoặc php-fpm, trang web hoạt động tốt trong 20-30 giây, sau đó sự cố lại xảy ra.

Đây là những gì ghi lỗi nginx nói:

[lỗi] 25.226 # 25.226: * 65 thượng nguồn timed out (110: Connection timed ra) trong khi đọc tiêu đề phản hồi từ phía thượng lưu, khách hàng: XXXX, máy chủ : www.mydomain.ext, yêu cầu: "GET/HTTP/1.1", ngược dòng: "fastcgi: // unix: /var/run/php/php5.6-fpm.sock:", máy chủ: "www. mydomain.ext "

Tôi đã googling và chơi xung quanh với cấu hình nginx và php-fpm cho vài người cuối cùng giờ, nhưng tôi không thể giải quyết nó.

Có ai biết cách giúp tôi không?

+0

Ứng dụng của bạn có tương tác với cơ sở dữ liệu không? Tôi đã nhận được thông báo này trước khi không thể kết nối với máy chủ cơ sở dữ liệu của tôi hoặc truy vấn mất nhiều thời gian hơn để hoàn thành sau đó là max_execution_time của quá trình fpm. – commanderZiltoid

Trả lời

0

Đối với tôi, có vẻ như vấn đề về quản lý quy trình FPM. Xem phần này link để biết thêm thông tin. Nó có vẻ như bạn có số lượng tĩnh của các quá trình có sẵn cho php-fpm và lưu lượng truy cập vượt quá nó. Tôi đã phải đối mặt với các vấn đề tương tự, nhưng tôi không nhớ nếu đây là thông báo lỗi chính xác trở lại sau đó. Nhưng hành vi giống như bạn giải thích, một số kết nối là rất chậm (Đang chờ fpm?) Khác đã đi đến 504.

UPDATE: Để xác nhận lý thuyết của tôi bạn nên kiểm tra các tập tin /etc/php5.6/pool.d/www.conf và kiểm tra dòng này:

pm.max_children = X 

Tăng số và khởi động lại fpm. Sau đó, xem nếu vấn đề được giải quyết.