Comentario: Que aún tengo bastante que aprender y que php no es la solución mágica con la que debo casarme.
Gracias por compartirlo :encouragement:
Hace un tiempo estuve alistando unos servidores con django para una web, sin duda que es el futuro y que si se tiene un proyecto grande es mucho mejor que PHP ( ¿que proyecto grande usa php? ) aunque bueno grande o pequeño django da siempre la talla.
Un claro ejemplo de sitios usando PHP, Facebook. :ghost:
Por eso uso Varnish.
Varnish -> Apache -> PHP
Un claro ejemplo de sitios usando PHP, Facebook. :ghost:
Leí por encima porque tengo mucho sueño :distant:
Al parecer Facebook y su HipHop no es lo suficientemente grande.
Lo que leí por encima no es lo que he respondido, eso vendrá luego si me acuerdo cuando me despierte de la siesta :moon: He opinado sobre la pregunta que está en negrita en mi cita. :topsy_turvy:A ver que el tema no es sobre PHP, es sobre varnish y nginx, además facebook no es 100% php :encouragement:
Eso pasa por leer por encima.
Lo que leí por encima no es lo que he respondido, eso vendrá luego si me acuerdo cuando me despierte de la siesta :moon: He opinado sobre la pregunta que está en negrita en mi cita. :topsy_turvy:
Facebook tiene una mezcla de lenguajes, pero por muy mezclado que esté sigue usando PHP.
Interesantes números, gracias por compartir
Te importaría ampliar un poco en detalles, me interesa conocer un poco más acerca de:
Hubo pérdida de paquetes durante el ataque?
Hardware utilizado?
alguna configuración especial en el sysctl.conf?
El tamaño promedio del paquete entrante parece ser 129 bytes
Absorber 60K pps con puro software no está nada mal ! y al juzgar por los números el límite real probablemente sea varias veces eso
Felicitaciones por esa buena configuración
Interesantes números, gracias por compartir
Te importaría ampliar un poco en detalles, me interesa conocer un poco más acerca de:
Hubo pérdida de paquetes durante el ataque?
Hardware utilizado?
alguna configuración especial en el sysctl.conf?
El tamaño promedio del paquete entrante parece ser 129 bytes
Absorber 60K pps con puro software no está nada mal ! y al juzgar por los números el límite real probablemente sea varias veces eso
Felicitaciones por esa buena configuración
Gracias
No es tanto como parece, o sea es puro software pero el merito se lo lleva la red del servidor que pudo aguantarlo, aunque fueron varios teras consumidos en tan solo 2 días :/, en otros servidores con 15 mil paquetes queda inaccesible el servidor, la otra ventaja es que la propia web tiene un consumo de RAM muy bajo y el resto fue cosa de varnish y memcached también andaba por ahí y aunque no parece nginx hizo un gran trabajo:
worker_rlimit_nofile 30000; :/
Por lo demás lo más relevante de hardware creo que fue el ssd por eso el nulo iowait y una ayuda extra para el ssd fue usar un poco de ram para algunos tmps y caches, con lo cual nos da:
Así el acceso es mucho mayor a los archivos también.
Aparte de eso el cache agresivo de varnish fue el salvador, el sistema casi no se modifico, glorioso debian.
Linux server 3.2
SSD Blaze
Xeon e3 1230
RAM:
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Single-bit ECC
Maximum Capacity: 32 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x1100, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: DIMM
Set: 1
Locator: DIMM 2
Bank Locator: Not Specified
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
System Information
Manufacturer: HP
Product Name: ProLiant DL120 G7
Normalmente la mayoría de los "Remote DDoS Protection" usan casi la misma formula que el, que es tener un proxy con cache agresivo y agregar reglas para los flood get a eso sumale tener contrato un dedicado en una red con "protecion" como lo puede ser staminus donde se basa su granja de servidores.
Por mi parte, a mi no me gusta usar varnish por el hecho que no se nota una diferencia al usarlo con nginx lo he probado varias veces y como dices puede que haga el gasto de menos recursos, pero al navegar no hay un cambio drástico notable en el sitio por lo que usarlo con nginx no es de mucho uso como la mayoría de la gente piensa (y eso que busque mucha información para saber el perfomance) aunque para DDoS todo mundo sabe que sirven los proxys como mencione arriba no es mala la información que pusiste. En mi caso prefiero usar varnish para sistemas con apache y solamente cuando es necesario con nginx ya que con apache el cambio es notablemente.
Saludos.
Depende del sistema no vas a ver diferencia con varnish, varnish es que cachea, ese es el truco si tienes nginx con ssd no verás mucha diferencia al menos que sea un número considerable de peticiones y que quieras cachear algo más que imágenes y para varnish hay muchas configuraciones, solo es buscar la mejor, tanto así que me han pedido a veces varnish -> nginx -> apache.
Por lo demás lo del proxy, pues en este caso no hubo proxy externo ni nada por el estilo, solo se trabajo en un servidor que es el que recibía el ataque, el data center no ayudo en nada y fue una suerte que no venia nada por udp por que por poco que manden te hacen null route ahí y mínimo 6 horas off.
Muy interesante estos datos, querría ver como se comportaría esto haciendo funcionar varnish en un servidor para el solo y el resto en otro.
pero muy interesantes los números.
un saludo
Yo tengo ya unos meses donde para un solo sitio de igual forma configure nginx (si con debian, aunque ahora estoy mas con centos) sin varnish y soportaba 50-90k de peticiones por segundo claro que tenia un uso del 30% de CPU y le hice una configuración a medida de su trafico y servidor, aunque soportaba mas trafico y la maquina era de las mejores del mercado (no cluster) así que realmente varnish con nginx lo veo solo para usos especiales, no digo que sea malo pero nginx no le pide nada a varnish aunque es un buen complemento.
De todas formas es interesante leer esto.
Saludos.
Notarás diferencia con varnish si usas por ejemplo wordpress y un plugin de cache, el cache es en html, le dices a varnish que cachee el html y ahí verás que mejora, todo se sirve desde la ram, si es php se puede hacer si es muy agresivo el cache pero luego vienen las quejas de que la web no se actualiza cuando algo nuevo se publica, pero si pones varnish para js, css e imágenes no hay mucha diferencia, al menos que, el servidor tenga un disco sata y las peticiones sean tantas que nginx genere mucho IO WAIT, ahí si le deja por el suelo varnish, también hay que ver cuanta ram se le da a varnish para que cachee, ese es el pequeño secreto, nginx es muy bueno sirviendo estático y varnish también es bueno para algunas cosas.
Notarás diferencia con varnish si usas por ejemplo wordpress y un plugin de cache, el cache es en html, le dices a varnish que cachee el html y ahí verás que mejora, todo se sirve desde la ram, si es php se puede hacer si es muy agresivo el cache pero luego vienen las quejas de que la web no se actualiza cuando algo nuevo se publica, pero si pones varnish para js, css e imágenes no hay mucha diferencia, al menos que, el servidor tenga un disco sata y las peticiones sean tantas que nginx genere mucho IO WAIT, ahí si le deja por el suelo varnish, también hay que ver cuanta ram se le da a varnish para que cachee, ese es el pequeño secreto, nginx es muy bueno sirviendo estático y varnish también es bueno para algunas cosas.
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?