2 de Julio, 2010

¿Qué diferencia hay entre usar caché y no usarla?

Como parece que no aprendo, después de mis malas experiencias con ab, he hecho un par de pruebas siguiendo mi esquema habitual (poco rigurosas y con resultados que hay que coger con pinzas :D).

Hace cosa de una semana monté Varnish, un acelerador HTTP (osea, proxy HTTP inverso), delante de mi servidor web, para intentar mejorar algo más el servicio de algunas páginas casi estáticas.

Las pruebas que he hecho son locales, desde la propia máquina, y en la primera ejecución voy a atacar a una página que tiene Varnish en la caché, pero que nos nos va a poder servir porque mandamos una cookie (recordemos que ese contenido no es cacheable, como comenté en acelerando la web con la caché).

El comando empleado es:

ab -k -C "test=1234" -c 10 -t 10 http://blackshell.usebox.net/archive/1308.html

El resultado no está del todo mal (teniendo en cuenta que la prueba es local y que interviene toda la pila completa de Cherokee + Tornado + Redis):

Concurrency Level:      10
Time taken for tests:   10.087 seconds
Complete requests:      300
Failed requests:        0
Write errors:           0
Keep-Alive requests:    300
Total transferred:      4835100 bytes
HTML transferred:       4725900 bytes
Requests per second:    29.74 [#/sec] (mean)
Time per request:       336.242 [ms] (mean)
Time per request:       33.624 [ms] (mean, across all concurrent requests)
Transfer rate:          468.09 [Kbytes/sec] received

Ahora repetimos la misma prueba sin enviar la cookie, con lo que podemos ver a Varnish en todo su esplendor:

Concurrency Level:      10
Time taken for tests:   10.000 seconds
Complete requests:      31944
Failed requests:        0
Write errors:           0
Keep-Alive requests:    31944
Total transferred:      513258394 bytes
HTML transferred:       503213832 bytes
Requests per second:    3194.28 [#/sec] (mean)
Time per request:       3.131 [ms] (mean)
Time per request:       0.313 [ms] (mean, across all concurrent requests)
Transfer rate:          50121.08 [Kbytes/sec] received

No estoy seguro, pero sospecho que es lo más rápido que puede ir esta máquina (eso son 391 Mbps en local), que nuevamente no está nada mal :D.

No me he dado cuenta y al hacer estas pruebas he contaminado las estadísticas que llevaba recogidas en Varnish, así que las voy a reiniciar, y cuando tenga datos, prometo una anotación explicando mi despliegue de este acelerador HTTP ;).

Anotación por Juan J. Martínez, clasificada en: cache.

Hay 2 comentarios

Gravatar

—————=====——-STRESS——-=====————-

  URL: http://xxxx.com/                 
  Numero de peticiones: 10000 
  Peticiones concurrentes: 100   

  Peticiones por segundo: 39522.57

—————=====————————=====————-

Es más máquina obviamente, pero por poner una prueba con Squid :D

por MarcosBL, en 2010-07-03 03:41:40

Gravatar

Sí, parece que tienes más potencia (¿x12?), pero no podemos estar seguros de qué es cosa del hw y qué es cosa del sw.

Habría que comparar Varnish y SQUID con la misma máquina, sino tiene poco sentido :P

por Juanjo, en 2010-07-03 09:32:00

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: