PHP-FPM là một Trình quản lý quy trình FastCGI, một sự thay thế cho PHP. PHP-FPM có thể cấu hình cao bằng cách dễ dàng điều chỉnh cài đặt nhóm cho những người dùng khác nhau bằng cách sử dụng các phiên bản PHP khác nhau …

Trong hướng dẫn này, bạn sẽ tìm hiểu phương pháp cấu hình PHP-FPM tốt nhất bằng cách sử dụng một số phép tính đơn giản để tránh một số lỗi được liệt kê bên dưới.

server reached pm.max_children setting, consider raising it
seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers)

Bước 1: Thông số kỹ thuật máy chủ

Đầu tiên, hãy ghi lại thông số kỹ thuật máy chủ của bạn. Các lõi CPU và kích thước RAM của bạn.

Ví dụ: trong hướng dẫn này, giả sử bạn có 2vCPU và RAM là 16 GB.

Bây giờ, hãy xác định xem bạn có thể phân bổ bao nhiêu bộ nhớ để xử lý PHP.
Chúng ta giả định rằng khoảng 10 GB trong số 16 GB RAM có thể phân bổ cho quá trình xử lý PHP.

Bước 2: Tiêu tốn bao nhiêu RAM cho mỗi quá trình PHP-FPM

Bạn có thể thực hiện lệnh sau để kiểm tra bộ nhớ trung bình được sử dụng cho các process

ps -ylC php-fpm7.4 --sort:rss
  • Thay thế phiên bản PHP bằng phiên bản được sử dụng của bạn.

Bạn có thể nhận được một màn hình tương tự như bên dưới.

PHP-FPM Process Ram

Lưu ý các giá trị bên dưới cột RSS . Đây là bộ nhớ được sử dụng bởi mỗi process PHP-FPM của bạn.

Ở đây chúng ta có khoảng 20MB RAM được sử dụng trung bình cho mỗi tiến trình con PHP-FPM.

Bước 3: Tính giá trị cho PHP-FPM Children

Theo mặc định, giá trị pm sẽ được đặt thành dynamic. Vì vậy bạn sẽ cần phải cấu hình các máy chủ dự phòng tối thiểu . Và tối đa cũng như các máy chủ con tối đa.

Chúng ta sẽ thay đổi giá trị pm thành ondemand các máy chủ dự phòng sẽ được tạo tự động theo nhu cầu.

pm = ondemand

Bây giờ chúng ta có thể tính toán bao nhiêu tiến trình con có thể được tạo để ứng dụng chạy theo các thông số kỹ thuật của máy chủ.

Vì chúng ta sắp phân bổ 10GB RAM để xử lý PHP-FPM. Bằng cách thực hiện lệnh ở bước trước, chúng ta nhận thấy giá trị trung bình của mỗi con là 20MB

RAM tối đa có thể được sử dụng bởi PHP-FPM / RAM được sử dụng bởi mỗi con = Giá trị con tối đa cho PHP-FPM

Vậy 10000/20 = 500 . _ _ Bạn có thể sử dụng tối đa 500 PHP-FPM con theo thông số kỹ thuật máy chủ của bạn. Vì vậy, cấu hình PHP-FPM của bạn phải là…

pm.max_children = 500

Đây là 2 giá trị cần được điều chỉnh để PHP-FPM chạy mượt mà trên máy chủ của bạn.

Bạn cũng có thể định cấu hình yêu cầu tối đa đến 500 bằng cách bỏ ghi chú pm.max_requests. Điều này sẽ hữu ích nếu có bất kỳ rò rỉ bộ nhớ nào trong bất kỳ thư viện của bên thứ ba nào.

Cấu hình cuối cùng sẽ như thế này.

pm = ondemand
pm.max_children = 500
pm.max_requests = 500

Kết luận

Bây giờ bạn đã học cách định cấu hình các giá trị PHP-FPM theo thông số kỹ thuật máy chủ của mình bằng các phép tính đơn giản.

Tác giả

Gim