Optimizando tráfico sin ataques: Varnish, Nginx y rendimiento

  • Autor Autor skamasle
  • Fecha de inicio Fecha de inicio
S

skamasle

Mi
Bueno ya hace muy poco tiempo hice este tema sobre un DDOS a una web que ya por si sola tenia 6 mil online -> http://forobeta.com/dedicado/197048...x-y-django-6-mil-online-y-ddos-60mil-p-s.html varnish ayudo bastante y el disco SSD aún más, ahí eran 60 mil paquetes entrantes y un total de 90 mil, en este caso son 60 mil en total.

En este caso vamos a ver otro caso, sin ataque ni nada de eso, todo el tráfico es natural.


El servidor con 1gbit de red.
Discos sata raid10.
CPU Dual Xeon E5620 @ 2.40GHz
Ram 8 gigas.

Objetivo principal servir imágenes al mundo entero.

nginx config worker_processes 16;

worker_connections 2048;

Lo demás no es relevante.

Varnish = 3.0.2,

Sistema operativo: el de siempre, debian versión 7

Problemas IO wait..... y más IO wait... nginx puede solito con los 60 mil paquetes por segundo que son como 20 mil salientes a 700 mbits por segundo, pero el disco dice ya no puedo :/ así que tuvimos que llamar al amigo varnish para que ayudará pero el resultado no fue el deseado.


El iowait varia entre 15 y 40% ( depende de la hora ), cosa que es mucho, el uso de CPU aumenta muchísimo también a causa de esto.

Veamos algunas capturas

dtax.png



9zy2.png




Con varnish esta vez no fue la gran cosa y no por que no puede con todo si no por que el hardware no da más de si ( RAM ), solo se le asignaron 2 Gigas y el contenido estatico del server casi alcanza el 1tb, pero algo es algo para cachear lo que más peticiones tiene.

En los buenos momentos un entre 3 y 9 de IO wait, en los peores se hacerca al 20, y regularmente en tre 12 y 15 y no es que sea bueno pero se a mejorado un poco.

96dv.png



ase3.png



Asignando 3 gigas de RAM la cosa mejora en cuanto a load average:

dip0.png


Pasados los minutos llega a mantenerse entre 6 y 7 y el IO wait se mantiene a bajo de 11 la mayor parte del tiempo. 😛7:

Bueno el resultado era de esperarse, tal vez se esperaba menos IO wait, aun tiene picos de vez en cuando y llega hasta 18, pero se mantiene bajo que es lo más importante.

Mejoró? si, mejoró.

Tal vez puede mejorar más con más RAM, pero es complicado por la cantidad de informacion a la que se le hacen peticiones.

En una web pequeña se puede reducir el IO wait hasta 1 o menos, pero ya hablamos de una que tenga poco contenido estatico y muchas peticiones, algo así como 100 mb en imagenes o tal vez 500 o algo que no supere por mucho la mitad de nuestra RAM.


Cuando los SSD seand baratos y se puede armar un raid 10 por menos de 300 usd varnish puede que pase a la historia en determinados servidores y este será uno de ellos.
 
Atrás
Arriba