memcached varnish

memcached - Memcache(d) vs. Varnish para acelerar la arquitectura web de 3 niveles



(2)

Mi experiencia proviene del uso de Barniz con Drupal. En términos tan simples como sea posible, así es como respondería:

En general, Varnish funciona para tráfico no autenticado (a través de cookies) y memcached almacenará en caché el tráfico autenticado.

Entonces usa ambos.

Estoy tratando de acelerar mi punto de referencia (arquitectura web de 3 niveles) y tengo algunas preguntas generales relacionadas con Memcache (d) y Barniz.

  • ¿Cuál es la diferencia?
    Me parece que Varnish está detrás del servidor web, almacenando en caché las páginas web y no requiere cambio de código, solo configuración.
    Por otro lado, Memcached es un sistema de almacenamiento en caché de uso general y se utiliza principalmente para almacenar en caché el resultado de la base de datos y requiere un cambio en el método de get (primera búsqueda de caché).

  • ¿Puedo usar ambos? ¿Barniz en el servidor web frontal y Memcached para el almacenamiento en caché de la base de datos?

  • ¿Cuál es una mejor opción?

    (escenario 1 - principalmente escribir,
    escenario 2: mayormente leído,
    escenario 3: leer y escribir son similares)


  • Varnish está delante del servidor web; funciona como un proxy http inverso que se almacena en caché.
  • Puedes usar ambos.
  • En su mayoría, escribir: el barniz deberá tener las páginas afectadas depuradas. Esto dará como resultado una sobrecarga y poco beneficio para las páginas modificadas.
  • Mayormente leído: el barniz probablemente cubrirá la mayor parte.
  • Lectura y escritura similares: Varnish le servirá muchas páginas, Memcache proporcionará información para las páginas que tienen una combinación de datos conocidos y nuevos que le permiten generar páginas más rápido.

Un ejemplo que podría aplicarse a .com: agregar este comentario invalida la memoria caché de la página, por lo que esta debería eliminarse de Varnish (y también de mi página de perfil, que probablemente no valga para el caché desde el principio. Recordar invalidar todo las páginas afectadas pueden ser un problema). Todos los comentarios, sin embargo, están todavía en Memcache, por lo que la base de datos solo tiene que escribir este comentario. La base de datos no debe hacer nada más para generar la página. Todos los comentarios son extraídos por Memcache, y la página se vuelve a almacenar hasta que alguien la vuelva a afectar (quizás votando mi respuesta). De nuevo, la base de datos escribe el voto, todos los demás datos se extraen de Memcache, y la vida es rápida.

Memcache evita que su base de datos haga mucho trabajo de lectura. Varnish guarda su servidor web dinámico de la carga de la CPU al hacer que genere páginas con menos frecuencia (y aligera también la carga del DB si no fuera por Memcache).