Add varnish.tex with firsts paragraphs.
This commit is contained in:
parent
e4e405947e
commit
39e2911816
110
support/varnish.tex
Normal file
110
support/varnish.tex
Normal file
|
@ -0,0 +1,110 @@
|
|||
% Copyright (c) 2004-2010 Evolix <info@evolix.fr>
|
||||
% Permission is granted to copy, distribute and/or modify this document
|
||||
% under the terms of the GNU Free Documentation License, Version 1.2
|
||||
% or any later version published by the Free Software Foundation;
|
||||
% with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
||||
% A copy of the license is included at http://www.gcolpart.com/howto/fdl.html
|
||||
|
||||
\chapter{Varnish}
|
||||
|
||||
Site officiel: \url{https://www.varnish-cache.org/}
|
||||
|
||||
\section{Présentation}
|
||||
|
||||
Varnish est un reverse proxy HTTP dans le but premier est la mise en cache de
|
||||
contenu. Il est également capable de gérer plusieurs backend, avec
|
||||
répartition de charge et détection de panne.
|
||||
|
||||
Varnish, développé en C, se concentre principalement sur la performance sur des infrastructures
|
||||
à haut et très haut trafic.
|
||||
|
||||
Un autre point fort est son langage de configuration, qui permet de paramétrer
|
||||
finement le comportement de Varnish aux différentes étapes du traitement de la
|
||||
requête.
|
||||
|
||||
Le développement de Varnish a commencé en 2005, et il est distribué sous licence
|
||||
BSD.
|
||||
|
||||
\section{Installation}
|
||||
|
||||
Varnish est disponible dans les dépôts de Debian Squeeze en version 2.1.3. Il
|
||||
existe également un backport du paquet de Wheezy, qui fournit la version 3.0.2.
|
||||
Cette version apporte de nombreuses amélioration et fonctionnalité dans la
|
||||
gestion du load-balancing entre les backends.
|
||||
|
||||
Installation du paquet:
|
||||
\begin{verbatim}
|
||||
# aptitude install varnish
|
||||
\end{verbatim}
|
||||
|
||||
\section{Configuration}
|
||||
|
||||
Les possibilités offertes pour la configuration de Varnish sont assez vastes,
|
||||
elles seront abordés par grands thèmes.
|
||||
|
||||
\subsection{Paramétrage de base}
|
||||
|
||||
Tout d'abord, il est nécessaire de renseigner quelques informations de base au
|
||||
démon \texttt{varnishd}. Cette configuration se passe dans le fichier
|
||||
\texttt{/etc/default/varnish}. Plusieurs cas de figure sont proposés à titre
|
||||
d'exemple dans ce fichier, en voici un autre avec quelques optimisations
|
||||
supplémentaires:
|
||||
\begin{verbatim}
|
||||
DAEMON_OPTS="-a 192.0.2.1:80 \
|
||||
-T localhost:6082 \
|
||||
-f /etc/varnish/default.vcl \
|
||||
-S /etc/varnish/secret \
|
||||
-s malloc,3G
|
||||
-s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,10G
|
||||
-p thread_pools=<Number of CPU cores>
|
||||
-p thread_pool_add_delay=2
|
||||
-p thread_pool_max=5000"
|
||||
umask 022
|
||||
\end{verbatim}
|
||||
|
||||
Et voici quelques explications sur les paramètres:
|
||||
\begin{description}
|
||||
\item[\texttt{-a 192.0.2.1:80}] \hfill \\
|
||||
Il s'agit du couple IP,port sur lequel Varnish attendra les requêtes HTTP à
|
||||
traiter.
|
||||
\item[\texttt{-T localhost:6082}] \hfill \\
|
||||
Il s'agit du couple IP,port sur lequel sera accessible l'interface
|
||||
d'administration de Varnish (traité plus loin dans ce chapitre).
|
||||
\item[\texttt{-f /etc/varnish/default.vcl}] \hfill \\
|
||||
Cette option indique le fichier de configuration à utiliser.
|
||||
\item[\texttt{-S /etc/varnish/secret}] \hfill \\
|
||||
\item[\texttt{-s malloc,3G}]
|
||||
\item[\texttt{-s file,/var/lib/varnish/\$INSTANCE/varnish\_storage.bin,10G}] \hfill \\
|
||||
On indique ici qu'une partie du cache sera stocké en mémoire 3~Go, ainsi que
|
||||
dans un fichier plat sur le disque, qui sera limité à 10~Go.
|
||||
\item[\texttt{-p thread\_pools=<Number of CPU cores>}]
|
||||
\item[\texttt{-p threa\_poo\_ad\_delay=2}]
|
||||
\item[\texttt{-p threa\_poo\_max=5000}] \hfill \\
|
||||
L'option \texttt{-p} permet de modifier différents paramètres d'exécution.
|
||||
De nombreux paramètres peuvent être modifiés, la liste complète avec leur
|
||||
description se trouve ici:
|
||||
\url{https://www.varnish-cache.org/docs/2.1/reference/varnishd.html}.
|
||||
|
||||
\texttt{threa\_pools} indique le nombre de groupe de threads à lancer. Cette
|
||||
valeur ne devrait pas dépasser le nombre de c\oe{}ur disponible sur le système
|
||||
(pour des raisons de performance). Pour \texttt{threa\_poo\_ad\_delay}, il
|
||||
s'agit du temps en milisecondes à attendre avant la création d'un nouveau
|
||||
thread. Et enfin \texttt{threa\_poo\_max} représente le nombre total de
|
||||
thread maximum à ne pas dépasser, tout pool confondus.
|
||||
\item[\texttt{umask 022}] \hfill \\
|
||||
Varnish s'attend à avoir un umask à 022 pour s'exécuter
|
||||
correctement. \'Etant donné qu'il n'est pas forcé dans le script d'init,
|
||||
nous le plaçons ici manuellement.
|
||||
\end{description}
|
||||
|
||||
\subsection{Aperçu de la syntaxe du langage VCL}
|
||||
|
||||
\subsection{Gestion du cache}
|
||||
|
||||
\subsection{Gestion du load-balancing}
|
||||
|
||||
\subsection{Gestion du failover}
|
||||
|
||||
\section{Administration}
|
||||
|
||||
\section{Gestion des logs}
|
Loading…
Reference in a new issue