Foros del Web » Programando para Internet » Python »

Rendimiento de python para hacer webservice

Estas en el tema de Rendimiento de python para hacer webservice en el foro de Python en Foros del Web. Hola a todos, he tenido un problema con respecto a escoger un lenguaje y un motor de base de datos para una aplicacion que estara ...
  #1 (permalink)  
Antiguo 09/12/2013, 13:39
 
Fecha de Ingreso: octubre-2012
Ubicación: Lima
Mensajes: 31
Antigüedad: 11 años, 5 meses
Puntos: 1
Pregunta Rendimiento de python para hacer webservice

Hola a todos, he tenido un problema con respecto a escoger un lenguaje y un motor de base de datos para una aplicacion que estara en varios dispositivos posiblemente mas de cientos de miles hasta millones , para lo cual necesito ejecutar scripts lo mas rapido posible con consultas (generalmente SELECT) y que las consultas sean lo mas rapido tambien y al final publicar un JSON, actualmente estoy con php y mysql, que no creo que sirva a la larga, la segunda opcion que me dijeron que era la mejor era usar python con postgres sql, me inclinaria por esta opcion pero en internet no encuentro que python sea mas rapido que php,lo cual me hace dudar y antes de hacer algo quiero estar seguro.

Lo que mas suelo encontrar es que php es mas rapido que python, asi que mi duda seria esa, no se que me recomendarian o en todo caso que harian ustedes. Me encontre que pypy es una version de python mas rapida que php pero no es compatible con apache, bueno espero sus respuestas me sentire muy agradecido por cada una de ellas.
Saludos.
__________________
Lo mas curioso en esta vida es que todo se hace mas simple cuando lo divides de 2 en 2.
  #2 (permalink)  
Antiguo 09/12/2013, 13:55
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Rendimiento de python para hacer webservice

Debes aprender más sobre cómo funciona la web para optimizar algo.


No es solo cuestión del lenguaje de programación y/o base de datos. Es todo el conjunto.

Y si tu pregunta es que si Python es es apto para ese trabajo la respuesta es un rotundo sí.


Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 09/12/2013, 14:00
 
Fecha de Ingreso: octubre-2012
Ubicación: Lima
Mensajes: 31
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Rendimiento de python para hacer webservice

Y que tan bueno te parece python para hacer servicios web comparado con php, si php es mas rapido que python que podria ser determinante para que python pueda hacer lo mismo mas rapido
__________________
Lo mas curioso en esta vida es que todo se hace mas simple cuando lo divides de 2 en 2.
  #4 (permalink)  
Antiguo 09/12/2013, 14:36
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Rendimiento de python para hacer webservice

Muy rara vez el lenguaje es el cuello de botella en cualquier aplicación.

Depende de mas de la arquitectura del proyecto, de como este codificado ciertas partes importantes de la aplicación, cuantos usuarios concurrentes tengas, el hardware del servidor(es) y un montón de clusters de variables.

Es como empezar a NoSQL porque es "web scale".

Rendimiento es un tema complejo, no puedes llegar y preguntar cual lenguaje es el mas rápido.

Si me dices que tendrás hasta 200 usuarios al mismo tiempo y todo esta lento. Lo siento pero probablemente es tu código mas que el lenguaje.

Si quieres hacer un webservice puedes usar
Django Rest Framework
o
Tastypie

Y usa algo de cache como memcached.

Eso al menos te debería dar un rendimiento mas que excelente.
  #5 (permalink)  
Antiguo 09/12/2013, 15:09
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Rendimiento de python para hacer webservice

También los test de ese tipo suelen ser subjetivos, por ejemplo este dice que es más rápido que PHP y el que tu viste dice lo contrario: http://blog.famzah.net/2010/07/01/cp...nce-benchmark/ Tampoco es que las operaciones por segundo sean lo único a tomar en cuenta.

Y por otro lado, PHP no es lo mejor en cuanto a lenguajes se refiere: http://blog.alphasmanifesto.com/2013...un-mal-diseno/ Yo por la elocuencia, consistencia y agilidad de python lo usaría mucho antes que a PHP.

Te repito, que no es tanto el lenguaje (en ese caso programa en C++), influye tanto el servidor web (por ejemplo, Apache podría no ser lo mejor por la forma en que maneja las peticiones), el servidor físico, la latencia de la red, el diseño de tu aplicación, el caching (en el 60% de los casos que necesitan optimización basta con una buena configuración de caché), las consultas a tu base de datos (es decir, que tan bien hechas estén) y ya en menor medida el lenguaje de programación.

Creo que si buscas respuestas en un foro de Python está claro lo que obtendrás .

Saludos
__________________
Grupo Telegram Docker en Español
  #6 (permalink)  
Antiguo 09/12/2013, 17:27
 
Fecha de Ingreso: octubre-2012
Ubicación: Lima
Mensajes: 31
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Rendimiento de python para hacer webservice

Gracias por sus respuestas muy interesantes ambas, una ultima cuestión para sacarme las dudas, con respecto al motor de base de datos python y postgres sql seria mejor que php con mysql o php con postgres sql ? , tomando en cuenta que los webservice van a ser llamados constantementes en intervalos de 10 segundos a lo mucho por 500 mil usuarios en el mejor de los casos, debido a que el webservice sera llamado por un app movil, tambien preguntando por ahi me dicen un buen interprete de python es el cpython, mucho mas rapido que python, lo que sucede es que quisiera obtener el mayor rendimiento posible para evitar demoras. Muchas gracias por sus respuestas me han servido bastante

Saludos.
__________________
Lo mas curioso en esta vida es que todo se hace mas simple cuando lo divides de 2 en 2.
  #7 (permalink)  
Antiguo 09/12/2013, 18:05
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Rendimiento de python para hacer webservice

¿500 mil usuarios concurrentes?

Y sí, si preguntas en el foro de Python te diremos que Python + PostgreSQL es mejor que PHP + loquesea.

cpython es el interprete por defecto en python.

Saludos
__________________
Grupo Telegram Docker en Español
  #8 (permalink)  
Antiguo 09/12/2013, 19:34
 
Fecha de Ingreso: octubre-2012
Ubicación: Lima
Mensajes: 31
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Rendimiento de python para hacer webservice

En el test que posteaste donde gana pyhon esta usando el interprete psico ahora llamado pypy que al parecer es lo mas rapido que tiene python , alguna vez has usado pypy? he leido que no es compatible con apache talves conoscas algunas opciones ademas de apache
__________________
Lo mas curioso en esta vida es que todo se hace mas simple cuando lo divides de 2 en 2.
  #9 (permalink)  
Antiguo 11/12/2013, 10:28
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Rendimiento de python para hacer webservice

En mi opinión, estas optimizando problemas que no existen.

Regularmente cuando optimizas es cuando ya tienes un sistema creado y funcionando, pero es muy lento.

En tu caso parece que no has empezado nada y solo estas especulando.

Mi sugerencia es:
1. Hacer el webservice
2. Optimizar cuando sea necesario

Así de simple.

Etiquetas: php, postgres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:50.