Z sieci dowiedziałem się, że WSGI jest CGI dla programowania/frameworków Pythona. FCGI wydaje się być bardziej uogólnioną bramą dla różnych języków. Nie znam różnicy wydajności między tymi dwoma w odniesieniu do języka Python i C/++.Czy istnieje różnica prędkości pomiędzy WSGI i FCGI?
Odpowiedz
Prawidłowo WSGI jest programistyczną definicją API Python, a FASTCGI jest językową definicją protokołów z protokołem gniazdkowym. W rzeczywistości są one na różnych warstwach, a WSGI jest warstwą wyższą. Innymi słowy, można zaimplementować WSGI na czymś, co zdarzyło się użyć FASTCGI do komunikacji z serwerem WWW, ale nie na odwrót.
Ogólnie rzecz biorąc, FASTCGI będący protokołem z gniazdem oznacza, że zawsze potrzebujesz jakiegoś specjalnego interfejsu programistycznego, aby go użyć. Dla Pythona jedną z takich opcji jest WSGI. Ponieważ FASTCGI jest tylko środkiem do osiągnięcia celu, nie można tak naprawdę porównać jego wydajności z WSGI w tym przypadku, ponieważ WSGI nie jest porównywalnym protokołem z gniazdem, ale jest użytkownikiem samego FASTCGI.
Można próbować porównać wydajność różnych interfejsów językowych na górze FASTCGI, ale ogólnie rzecz biorąc, jest to zupełnie bez znaczenia, ponieważ niższa warstwa sieci i obsługa żądań serwera nie są wąskim gardłem. Zamiast tego będzie twój kod aplikacji i baza danych.
To dwie różne rzeczy. WSGI to specyficzny dla Pythona interfejs do pisania aplikacji internetowych. Istnieją opakowania dla dowolnego protokołu serwera WWW, aby zapewnić interfejs WSGI. FastGCI (FCGI) jest jednym z takich protokołów serwera WWW. Tak więc WSGI jest warstwą abstrakcji, podczas gdy CGI/FastCGI/mod_python to sposób, w jaki rzeczywiste serwery WWW rozmawiają z aplikacją. Jakiś kod musi przetłumaczyć macierzysty interfejs na WSGI (istnieje moduł CGI w wsgiref
, jest tam flup
dla FastCGI itp.). Istnieje również mod_wsgi dla Apache, który wykonuje tłumaczenie bezpośrednio w module Apache, więc nie potrzebujesz żadnego opakowania Pythona.
- 1. Różnica pomiędzy * i + regex
- 2. Jaka jest różnica między scgi i wsgi?
- 3. Różnica między sieci/http i net/http/fcgi w Golang
- 4. Django i fcgi - logowanie pytanie
- 5. różnica pomiędzy kliknięcia i wybierz Android
- 6. Różnica pomiędzy AVX instrukcji vxorpd i vpxor
- 7. Różnica Tastypie pomiędzy list_allowed_methods i detail_allowed_methods
- 8. Różnica pomiędzy + i - metody w Objective-C
- 9. różnica pomiędzy wybrać i gdzie w LINQ
- 10. Różnica pomiędzy() i [] w Perl 6
- 11. Różnica pomiędzy jaśminem npm i jaśminowymi paczkami
- 12. Jaka jest różnica pomiędzy $ (this) i to
- 13. Różnica pseudo odwrotności pomiędzy scipy i NumPy
- 14. Różnica pomiędzy "100" i "100px" html
- 15. jquery - różnica pomiędzy $ .functionName i $ .fn.FunctionName
- 16. Różnica pomiędzy ASP.NET 3.5 i 4.0
- 17. Jaka jest różnica pomiędzy Cp i -classpath
- 18. Różnica pomiędzy MKOl wiosennym i wiosennym AOP
- 19. Różnica pomiędzy wirtualnymi i abstrakcyjnych metod
- 20. różnica pomiędzy numpy kropki() i wewnętrzna()
- 21. Czy istnieje różnica między strefami czasowymi UTC i Etc/UTC?
- 22. WebRTC i Websockets. Czy istnieje różnica
- 23. Czy istnieją różnice pomiędzy "i"
- 24. Pierwsze różnica pomiędzy dwoma zestawami
- 25. Jak duża jest różnica prędkości między XPathNavigator i XmlReader, naprawdę?
- 26. Różnica pomiędzy datami w R
- 27. Różnica pomiędzy „pliku testowego -a” i „plik Test -EF pliku”
- 28. Czy istnieje interfejs API do kontroli prędkości .NET?
- 29. Szablon prędkości i javascript
- 30. Jaka jest różnica pomiędzy realizacją i skompilować w Gradle
Myślę, że warto zapytać, jaka jest różnica czasu między aplikacją fcgi odpowiadającą na prośbę a aplikacją wsgi odpowiadającą na żądanie. Ponieważ fcgi i wsgi to dwa różne sposoby na połączenie języka programowania z żądaniem internetowym, robią bardzo podobne rzeczy. – Ninjaxor