[pyar] Python y sockets

Claudio Freire klaussfreire en gmail.com
Mar Abr 16 20:05:05 ART 2013


2013/4/16 Tonny <tonny.lists en gmail.com>:
> Muchas gracias a todos, voy a probar twisted,
> lo del proceso por cada lectura es una prueba nada mas, de ahí se llama a la
> función procesar directamente
> Lo de la medición tambien lo hice y el tiempo es variable entre 0.1segundos
> hasta 3 segundos, al parecer en la base de datos se demora la insertada
> lo raro es que en el programa java no tarda los dos escriben en la misma
> base de datos
> estoy usando el driver para postgres psycopg2 supongo es el mejor para
> postgres.


En el caso que la base de datos sea lo limitante, es posible que
twisted no te provea ninguna ventaja, dependiendo qué tipo de base de
datos es.

Para poder aprovechar twisted, necesitás un conector asincrónico, que
pocos motores soportan.

Si no lo tenés (o no lo querés usar, que son un bardito), un thread
pool es más que suficiente para tu aplicación, me parece a mí, porque
los threads son muy eficientes al paralelizar I/O (y en tu caso,
esperar la base de datos es esperar I/O).

Ahora, el problema más profundo que tenés, es que tu base de datos no
se banca la carga que le vas a tirar. Incluso con threads y toda la
bola, se te van a acumular updates en la cola, si la base de datos no
los despacha rápido. Rara vez abrir N conexiones te N-iplica el
volumen de inserts, así que tenés problemas. Más que probable tengas
que investigar por qué la base está lenta, y solucionarlo, ASAP.



More information about the pyar mailing list