Ai đó có thể giải thích sự khác biệt giữa apache mod_wsgi ở chế độ daemon và django fastcgi ở chế độ luồng. Cả hai đều sử dụng chủ đề cho đồng thời tôi nghĩ. Giả sử rằng tôi đang sử dụng nginx làm giao diện người dùng với apache mod_wsgi.Triển khai Django (fastcgi, apache mod_wsgi, uwsgi, gunicorn)
UPDATE:
Tôi đang so sánh django xây dựng trong fastcgi (./ phương pháp manage.py = luồng maxchildren = 15) và mod_wsgi trong chế độ 'daemon' (WSGIDaemonProcess dụ đề = 15). Cả hai đều sử dụng các chủ đề và có được GIL, tôi có đúng không?
UPDATAE 2:
Vì vậy, nếu họ cả hai đều giống nhau, là có bất kỳ lợi ích của apache mod_wsgi chống fastcgi. Tôi thấy ưu như vậy fastcgi:
- chúng ta không cần apache
- chúng ta tiêu thụ ít RAM
- tôi nhận thấy rằng fastcgi có ít overhead
UPDATAE 3:
Tôi hiện đang hài lòng với nginx + uwsgi.
UPDATAE 4:
Tôi bây giờ hài lòng với nginx + gunicorn :)
Tôi đang so sánh django được xây dựng trong fastcgi (./ manage.py method = threaded maxchildren = 15) và mod_wsgi trong chế độ 'daemon' (các ví dụ ví dụ WSGIDaemonProcess = 15). –
Có, cả hai đều dựa vào đa luồng để xử lý các yêu cầu đồng thời. GIL được sử dụng ngay cả khi một máy chủ WSGI đơn luồng, bạn không thể dễ dàng tránh được nó mà không cần biên dịch lại mã nguồn Python và vô hiệu hóa hỗ trợ luồng. Làm điều đó mặc dù và bạn không thể sử dụng mod_wsgi vì nó không hỗ trợ Python có luồng bị tắt. –
Ý của bạn là "GIL được sử dụng ngay cả khi một máy chủ WSGI đơn luồng"? Là nó được sử dụng khi chúng ta cấu hình mod_wsgi để xử lý ngã ba thay vì chủ đề? –