Mostrando entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta linux. Mostrar todas las entradas

sábado, 19 de mayo de 2018

uWSGI limite de conexiones simultaneas

Cuando una aplicación posee gran numero de visitas, o de personas conectándose al mismo tiempo. Puede suceder que lleguemos al limite de conexiones simultaneas que posee uWSGI. Esto puede pasar también si en algún momento reiniciamos el servicio de uWSGI y hay mas de 100 personas esperando para conectarse, las primeras 100 serán atendidas pero las otras van a recibir un error del proxy. Cuando suceda este tipo de errores en el log vamos a ver un mensaje similar a este:

uWSGI listen queue of socket "0.0.0.0:xxxx" (fd: 6) full


Esto es debido a que uWSGI posee un limite de 100 conexiones simultaneas por defecto, este limite viene asi porque cada sistema operativo trae un limite de conexiones simultaneas, por lo general en Linux el limite por defecto es de 128 conexiones simultaneas por puerto.

¿Como podemos solucionar este error de uWSGI?

Para empezar antes de aumentar este limite, primero debemos chequear el tiempo que esta tomando uWSGI antes de dar una respuesta al usuario. Que no haya ningún bloqueo en la base de datos ni nada similar que este retrasando el tiempo de respuesta de la aplicación, no debemos aumentar este limite ciegamente y debemos chequear bien antes de modificar este limite.

Cuando estemos seguros de que el problema es causado por el numero de personas intentando conectarse a nuestra aplicación, debemos primero aumentar el limite de conexiones del sistema operativo. En el caso de Linux podemos revisar este limite en /proc/sys/net/core/somaxconn, y modificarlo cambiando el archivo o ejecutando sysctl -w net.core.somaxconn=1024. Si estamos usando docker podemos agregar como parametro con --sysctl net.core.somaxconn=1024 o si es con docker compose:
sysctls:
  net.core.somaxconn: 1024


Después de ajustar el limite del sistema operativo solo debemos debemos aumentar el limite añadiendo el parámetro --listen donde n es el numero máximo de espacios.

viernes, 17 de agosto de 2012

Errores de tiempo en tweepy.

Cuando use por primera ves tweepy, para publicar o conectarme a twitter conseguí los siguientes errores: 401:Unauthorized Error Unable to get username, invalid oauth token! timestamp out of bounds Una de las razones a las que se puede deber es que la hora esta mala o fuera de orden, si estas en Windows ya sabes como acomodarla si estas en linux tienes que hacer lo siguiente.

Establecer la zonahoraria en Linux

Para establecer la zona horaria en linux en el sistema tenemos que crear un enlace simbólico de /etc/localtime al archivo /usr/share/zoneinfo/America/Caracas, en ves de América y Caracas, seria tu correspondiente ciudad y continente. El comando que tendríamos que ejecutar como root, para establecer la hora seria el siguiente: ln -sf /usr/share/zoneinfo/America/Caracas /etc/localtime Hay que hacerlo de esta manera porque si hacemos el cambio a través de Gnome, en el área de la hora Local, no va a cambiar la hora del sistema como tal y nos va a pasar como me pasaba a mi que GMAIL tenia horas mala de cuando la gente te manda mensajes, etc. Espero que esto les sirva. Saludos

lunes, 8 de agosto de 2011

Averiguar y modificar la codificación de un archivo. por consola en linux

Para averiguar la codificación de un archivo y el mime-type en linux es bastante sencillo, se puede hacer con el comando file, con "file -i" nos dirá que tipo de archivo es el archivo que se analiza y cual es la codificación de caracteres.

Para modificar la codificación de caracteres de un archivo desde la consola se hace con el comando iconv, para obtener un lista de las codificaciones se puede hacer con iconv -l

martes, 28 de junio de 2011

Emulador Javascript de Linux

Hola a todos, publico esta entrada porque hoy vi algo que me parecio muy interesante y de verdad es digno de publicarlo, no se el nombre del creador, pero creo una libreria en javascript que emula un computador con linux en nuestro navegador, con compilador c incluico, de verdad se ve muy bueno, y para quien quiera aprender un poco de linux y no quiera instalarlo esta muy buena la idea. Aca les dejo el link y espero que disfruten tanto como yo viendolo.

http://bellard.org/jslinux/

Primero entramos como root, somos los unicos usuarios del sistema, si hacemos estamos en /root, si hacemos un ls veremos un hello.c, y si queremos compilarlo haremos un tcc -o hello hello.c compilaremos el script y despues lo podremos correr tranquilamente. De verdad es super util, para probar se los recomiendo.