Tôi đang thử nghiệm với các thiết lập khác nhau để triển khai các ứng dụng django. Lựa chọn đầu tiên của tôi là sử dụng một máy chủ apache đơn giản với mod_wsgi, mà tôi đã thực hiện trước đó để sử dụng riêng. Vì triển khai hiện tại là để sử dụng công cộng, tôi đang xem xét các tùy chọn khác nhau. Dựa trên thông tin có sẵn trực tuyến, có vẻ như tốt khi có nginx để phục vụ nội dung tĩnh cũng như proxy ngược cho máy chủ nội dung động. Bây giờ, với kiến thức về Apache trước đây của tôi, tôi đã cân nhắc việc sử dụng tương tự cho nội dung động. Nhưng rồi tôi gặp Gunicorn và sau đó là uWSGI. Hiện tại tôi đang triển khai uWSGI. Tôi thấy rằng nó cho phép nhiều giao thức bao gồm http.Giao thức uwsgi có nhanh hơn giao thức http không?
Ưu điểm của việc sử dụng một giao thức so với giao thức kia. Tôi hiểu rằng với yêu cầu của tôi về mở rộng quy mô ứng dụng trên nhiều máy chủ, có nghĩa là tôi không thể sử dụng các ổ cắm Unix, có vẻ như được đề xuất trong một số hướng dẫn. Vì vậy, các lựa chọn khác là TCP socket với uwsgi hoặc với http. Họ có nhiều sự khác biệt về mặt lý thuyết không. Tôi không biết các chi tiết của giao thức uwsgi và muốn biết, nếu sử dụng nó trên giao thức http sẽ làm cho mọi thứ nhanh hơn?
Tôi đã thấy bài nói chuyện của bạn và có cảm giác rằng đây sẽ là câu trả lời của bạn. Nhưng chỉ vì mục đích tri thức hàn lâm, nó có nhanh hơn không? –
Sự khác biệt là trong HTTP người nhận phải phân tích cú pháp cho dấu phân tách trường tiêu đề yêu cầu và điểm cuối của điểm đánh dấu dòng. Trong uwsgi, các byte độ dài nhị phân được kết hợp trong dữ liệu để người nhận biết độ dài của trường là gì và không phải phân tích cú pháp đó. Vì vậy, bạn có thể tiết kiệm một chút thời gian sử dụng uwsgi, nhưng bạn thực sự đang tách lông. Thiết kế của phần mềm phía máy chủ sẽ quan trọng hơn nhiều. Sloppy mã hóa trong thuật toán để xử lý nó sẽ nhanh chóng quét sạch bất kỳ tiết kiệm. Ngay cả tác giả uWSGI cũng sẽ thừa nhận rằng ở cấp độ đó, sự khác biệt là rất nhỏ. –