Tôi có một apache với mô-đun PHP-FPM, 8 lõi CPU. CPU trung bình tải cùng nhau là khoảng 75% CPU chủ yếu do MySQL nhìn thấy màn hình.
Nó thực sự là tải nhỏ hơn một chút so với bình thường.
Nhưng vấn đề là, khi tôi mở trang chủ, tải ngẫu nhiên khoảng 1 giây (tôi đoán là thời gian đến byte đầu tiên).
Tôi nghĩ rằng nó có thể chờ đợi do kết nối mysql, v.v., nhưng có vẻ như thời gian chờ đợi thêm là thời gian, trước khi PHP nhận được tiếng nói từ Apache.
Tôi đã thực hiện hai thử nghiệm thú vị:
- Tệp html đơn giản (tệp trống có một số từ) mất 100 mili giây để tải.
- Tệp php đơn giản (không có kết nối với mysql, v.v., chỉ có tệp php trống với tiếng vang đơn giản) mất khoảng 1 giây để tải.
Vì vậy, vấn đề rõ ràng là với sự kết hợp php hoặc apache + php.
Tại sao, và làm thế nào để sửa chữa nó.
Tôi đã cố gắng tăng một số cài đặt PHP fpm như
chiều = động
pm.max_children = 5
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 200
Di chuyển các giá trị từ bit mặc định lên. Có, tải CPU tăng ngay lập tức lên gần 99% tất cả các CPU nhưng tốc độ không cố định + máy chủ đã được tải hoàn toàn.
phải làm gì?
Btw từ trạng thái mod Apache, tôi thấy rằng hiện tại có 25 yêu cầu mỗi giây được xử lý (mặc dù thường là gấp đôi). Và tôi không nghĩ mình nên đợi 1 giây để tải tập lệnh php trống với 8 lõi CPU.
Phiên bản máy chủ: Apache/2.4.29
PHP7.2-fpm
Sự kiện MPM
8vCPU, RAM 16 GB
BTW tệp php trống cũng mất khoảng 3-4 giây nên không chỉ 1 giây.