Add new comment

¿Qué es el barniz?

Barniz es el acelerador de aplicaciones web. Más específicamente, es un 'caché HTML proxy inverso'. Vamos a tomar a un segundo y desempaquetar lo que significa y por qué es impresionante.

Su lámpara típica por página web dinámica es relativamente costoso a producir. Una petición entra en Apache, se corrió a través de PHP, es sacar datos de MySQL, manipulado por PHP, los datos pueden escribirse nuevamente a MySQL, PHP más, entonces finalmente devuelto a Apache para volver a un navegador de los usuarios. ¡ UF! Todo este proceso lleva tiempo y memoria. Como su aplicación obtiene más popular (un problema agradable tener!), usted notará lento velocidad de página y su sitio puede bloquearse incluso bajo carga pesada.

¿Barniz sentarse delante de la pila de la lámpara, tome las solicitudes de páginas y luego preguntarse - he visto esta página antes? Si sí, entonces vamos a servir la versión en caché de esa página en lugar de ir a través de la pila de la lámpara. Barniz es muy, muy bueno en esto. También es mucho mejor en servir archivos estáticos, como imágenes y javascript que Apache.

Barniz reduce drásticamente el número de páginas de que su pila de la lámpara necesita para procesar. Un concepto clave a tener en cuenta es que el barniz no su ' mejor para páginas de caché sólo cree no son los únicos - por ejemplo, tráfico anónimo en su sitio Drupal. Páginas autenticados casi siempre van a ser enviados a Apache. Por esta razón, barniz debe ser alta en su lista de resultados de mejoras de rendimiento, pero sólo si ves una gran cantidad de tráfico anónimo. Si se autentica la mayoría de su tráfico, sus esfuerzos se pueden mejor pasar en otros lugares. Además, tenga en cuenta que para integrar el barniz con Drupal, te necesita invertir soporte de proxy, que es sólo incluida con Pressflow o Drupal 7. Lo siento, vainilla Drupal 6.

EmpowHER.com, un estudio de caso

Como comparación, veamos las mejoras que vimos en EmpowHER.com después de aplicar el barniz. En primer lugar, vamos a hablar de cómo se mide la carga del servidor. 

Hay una estadística 'superior' o 'htop' llamado media carga. Esta es una medida de cuanto se trabajan las CPU del servidor. Si tienes una base y su promedio de carga es 1, entonces eso significa que su CPU es actualmente al máximo al 100% de su ' potencia de procesamiento. Cualquier carga promedio sobre el número de CPU en el que la máquina significa que procesos se van a empezar a llenar para arriba, y en el caso de un servidor web, tiempos de carga de la página aumentará hasta que el servidor se queda sin recursos y accidentes. 

Pasamos de tener dos servidores web 4-core que eran regularmente muy por encima de un promedio de carga de 4 (sobre 100%), a alrededor de.5 después implantamos barniz. Pudimos ver página velocidades aumentan considerablemente, y aumentar el tráfico orgánico por un amplio margen en los siguientes dos meses. Mientras trabajamos en un montón de mejoras de usabilidad y de rendimiento durante ese período de tiempo, gran parte de ese éxito atribuimos al despliegue de barniz.

** Imagen

Dónde instalar el barniz

Barniz es un proceso de sistema linux comparativamente ligero. Puede dedicar uno o más servidores a ser su caché de barniz, pero en mi caso (sólo dos nodos de la web) los beneficios de hacer entonces no vale la pena la sobrecarga. Es una configuración mucho más fácil de instalar simplemente barniz en el mismo servidor como Apache. Si tuviera que añadir otro nodo web a nuestra disposición, sin duda sería reevaluar poner barniz en su ' caja.

Cómo instalar barniz

Aquí le damos instrucciones generales sobre cómo instalar el barniz de la mayoría de sistemas operativos Linux. Aquí le damos instrucciones específicas sobre cómo instalar barniz en Ubuntu que funcionó para mí, a partir de julio de 2012. Un par de rápidas notas aunque:

  • La documentación de barniz dice que barniz debe venir incluido con tu distribución de Ubuntu, pero en mi caso, esto no era cierto. YMMV.
  • Me encontré con errores al intentar agregar el repositorio de barniz a apt. Para solucionar el problema, sólo debían actualizar ejecutando sudo apt-get upgrade apt-get.

Cómo integrar el barniz con Apache

He utilizado a Guía de Lullabot para levantarse barniz y funcionando, asi solo te enlace a él desde aquí. Algunas notas de mi experiencia sin embargo:

  • Desde barniz vive en el mismo servidor como Apache, en mi caso, cambiar el puerto que escucha Apache al 8080 (por defecto que barniz ocupa el puerto 80) y configurar mi puerto de servidor (Apache) a 8080 en el archivo default.vcl.
  • Asegúrese de prestar atención cuando el artículo Lullabot menciona cambiar el archivo de configuración de servidor predeterminada para utilizar 'malloc'. El valor predeterminado almacena la caché de barniz en el disco, que realmente no es lo queremos a menos que la memoria está en un gran premio en su entorno.
  • Este es el archivo de default.vcl que usé como plantilla para nuestro sitio. Los primeros que te ves en esa guía son para un servidor independiente de barniz que conectan varios nodos de la web. Las configuraciones de ejemplo de alta disponibilidad son en la parte inferior del artículo.
  • Recomiendo esta fuera del edificio en un servidor de prueba no pública primero. Esto va a tomar un montón de ensayo y error y se romperá su sitio de Internet muchas, muchas veces al obtener cosas ajustadas a derecho.
  • En mi configuración, si hacer cambios en el archivo default.vcl, que tengo que reiniciar el barniz primero (/etc/init.d/varnish restart), luego el Apache. Si sólo reinicio barniz sin reiniciar Apache, mi sitio no se carga. Lo mismo si lo reinicie Apache sin reiniciar barniz. Esto puede ser un problema con mi configuración, YMMV.

Cómo integrar el barniz con Drupal

La comunidad dispone de un módulo contrib para barniz. Ya que el barniz se sienta frente a Drupal, almacenamiento en caché las solicitudes después de que las páginas se han construido, no hay mucho trabajo aquí para el módulo de barniz que hacer. Sobre todo, añade una interfaz de presentación de informes en /admin/reports/varnish.

Necesita añadir 'reverse_proxy_addresses' en la matriz de conf en settings.php. Tenga en cuenta que las instrucciones funcionó bien para mí en Pressflow.

Una nota sobre galletas - o, '¿Qué es la captura'?

Barniz es particularmente gruñón sobre cookies. Recuerda que las cookies son una manera para que una aplicación web mantener el estado de una página dinámica a la siguiente. Barniz asume que desde muchas páginas y activos estáticos en sitios raramente cambian, es bueno para almacenar en caché páginas completadas y volver a todos los usuarios independientemente de que estén. Barniz asume que una cookie indica que la página solicitada debe ser por lo tanto ser único y no en caché o devuelve una versión en caché de la URL.

Hay dos cosas a considerar aquí:

  • ¿Presencia de la cookie indica que esta página debe ser única? ¿Por ejemplo, va a ser leído por PHP y permite seleccionar dinámicamente contenido de que hacer en la página? Si así, luego barniz es correcto de no querer a esta página en caché y debe generalmente lo dejas hacer su ' cosa.
  • Si es una cookie que no se utiliza por su procesador de servidor, deberá escribir una excepción para él en el archivo de configuración de barniz. Un ejemplo de esto sería las cookies que se utilizan para rastrear el comportamiento de los usuarios, como analytics o B prueba.

Cómo supervisar el barniz

Además del informe de administración mencionado en /admin/reports/varnish, allí también línea de comandos herramientas para monitorear barniz: varnishtop y varnishstat. 

 

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
Esta pregunta es para probar si o no usted es un visitante humano y prevenir envíos de spam automatizado.
Imagen CAPTCHA
Ingrese los caracteres mostrados en la imagen.
glqxz9283 sfy39587stf02 mnesdcuix8
sfy39587stf03
sfy39587stf04