Tối ưu PHP-FPM trên Ubuntu 24.04

PHP-FPM là thành phần xử lý chính các request PHP khi bạn sử dụng Nginx. Việc cấu hình hợp lý PHP-FPM không chỉ giúp giảm tải CPU, RAM mà còn tăng độ ổn định và khả năng chịu tải của website trong môi trường thật.

Tối ưu PHP-FPM trên Ubuntu 24.04

Trong hướng dẫn này, bạn sẽ tinh chỉnh hai tập tin cấu hình quan trọng: www.confphp.ini theo cấu hình server thực tế.

Cấu hình PHP-FPM pool

Mở tập tin /etc/php/8.3/fpm/pool.d/www.conf và điều chỉnh các thông số sau:

pm = dynamic
pm.max_children = 12
pm.start_servers = 5
pm.min_spare_servers = 3
pm.max_spare_servers = 9
pm.max_requests = 500

Giải thích nhanh:

  • pm: Chế độ quản lý process, nên để dynamic để tự điều chỉnh theo tải.
  • pm.max_children: Số lượng process PHP tối đa được phép chạy song song.
  • pm.start_servers: Số lượng process khởi tạo khi dịch vụ bắt đầu.
  • pm.min_spare_servers / pm.max_spare_servers: Số lượng process chờ (idle) tối thiểu và tối đa.
  • pm.max_requests: Số request mỗi process xử lý trước khi được khởi động lại (tránh memory leak).

Cấu hình PHP-FPM cho server mạnh

Nếu bạn đang dùng VPS hoặc máy chủ vật lý với cấu hình cao (ví dụ: 32 CPU, 64GB RAM), bạn có thể áp dụng cấu hình mạnh tay hơn:

pm = dynamic
pm.max_children = 100
pm.start_servers = 70
pm.min_spare_servers = 60
pm.max_spare_servers = 80

Sau khi chỉnh sửa xong, hãy khởi động lại PHP-FPM để áp dụng thay đổi:

systemctl restart php8.3-fpm

Tối ưu file php.ini

Tiếp theo, bạn nên điều chỉnh một số giới hạn tài nguyên trong tập tin /etc/php/8.3/fpm/php.ini để phù hợp với nhu cầu thực tế:

post_max_size = 32M
upload_max_filesize = 32M
max_file_uploads = 100
memory_limit = 1024M
  • post_max_sizeupload_max_filesize: Giới hạn kích thước tệp tin người dùng có thể upload.
  • max_file_uploads: Số lượng tệp tối đa có thể upload cùng lúc.
  • memory_limit: Giới hạn bộ nhớ tối đa cho mỗi tiến trình PHP (tùy máy chủ, có thể là 512M, 1024M hoặc hơn).

Khởi động lại PHP-FPM để áp dụng cấu hình mới:

systemctl restart php8.3-fpm

Việc tối ưu PHP-FPM đúng cách sẽ giúp server xử lý các request PHP hiệu quả hơn, tránh tình trạng quá tải khi có nhiều lượt truy cập cùng lúc.

Bình luận


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...