webman hiệu suất

Quy trình xử lý yêu cầu của framework truyền thống

  1. nginx/apache nhận yêu cầu
  2. nginx/apache chuyển yêu cầu cho php-fpm
  3. php-fpm khởi tạo môi trường, như tạo danh sách biến
  4. php-fpm gọi RINIT của các mở rộng/module khác nhau
  5. php-fpm đọc file php từ đĩa (có thể tránh nếu sử dụng opcache)
  6. php-fpm phân tích từ vựng, phân tích cú pháp, biên dịch thành opcode (có thể tránh nếu sử dụng opcache)
  7. php-fpm thực thi opcode bao gồm 8, 9, 10, 11
  8. Framework khởi tạo, như khởi tạo các lớp khác nhau, bao gồm như container, controller, route, middleware, v.v.
  9. Framework kết nối cơ sở dữ liệu và xác thực quyền truy cập, kết nối redis
  10. Framework thực thi logic nghiệp vụ
  11. Framework đóng kết nối cơ sở dữ liệu, redis
  12. php-fpm giải phóng tài nguyên, hủy bỏ tất cả định nghĩa lớp, instance, hủy bỏ bảng ký hiệu, v.v.
  13. php-fpm gọi tuần tự phương thức RSHUTDOWN của các mở rộng/module khác nhau
  14. php-fpm chuyển tiếp kết quả cho nginx/apache
  15. nginx/apache trả kết quả cho client

Quy trình xử lý yêu cầu của webman

  1. Framework nhận yêu cầu
  2. Framework thực thi logic nghiệp vụ (opcode bytecode)
  3. Framework trả kết quả cho client

Không sai, trong trường hợp không có nginx reverse proxy, framework chỉ có 3 bước này. Có thể nói đây đã là cực hạn của framework php, điều này khiến hiệu suất của webman gấp nhiều lần hoặc thậm chí hàng chục lần so với framework truyền thống.

Tham khảo thêm kiểm tra áp lực