Servidor web Python independiente y / o nginx

Así que he leído algo acerca de los marcos web de Python (¿o servidores?), Principalmente Tornado y Bottle pero también FAPWS3 , y todavía hay algunas áreas grises.

Primero, se dice que estos tres marcos web son rápidos, pero todos incluyen un servidor web escrito en Python (excepto FAPWS3) que debe colocarse detrás de nginx / Apache. ¿No es esto reduciendo el rendimiento? Quiero decir, sabemos que Python es mucho más lento que C, ¿por qué no solo usa nginx o, en el peor de los casos, solo el servidor web de Python incluido?

Primero, Tornado y FAPWS3 son servidores web, mientras que Bottle es un marco web. Aquellos pertenecen a categorías completamente diferentes.

Los marcos web generalmente se ejecutan como un servidor WSGI detrás de un proxy HTTP (“web”). El servidor HTTP incluido en la mayoría de los marcos de trabajo solo está ahí para un rápido desarrollo e implementación y una fácil implementación en sitios donde no importa la alta eficiencia.

La idea es básicamente que el servidor HTTP (Apache / Lighttpd / Nginx / Tornado / FAPWS3, etc.) es muy bueno para entender HTTP y para servir archivos estáticos desde el disco. Por otro lado, el contenido dynamic es generado por un servidor Python utilizando un marco web como Bottle / Flask / web.py / Pylons / etc. El documento producido por el marco web se devuelve al servidor HTTP a través de WSGI, se coloca en una respuesta HTTP y se envía al cliente.