Difference between pages "Install/fr/Stage3" and "Package:Varnish"

< Install‎ | fr(Difference between pages)
(Quelle architecture?)
 
 
Line 1: Line 1:
<noinclude>
+
{{Ebuild
{{InstallPart|installation de l'archive du Stage 3}}
+
|Summary=Varnish is a state-of-the-art, high-performance HTTP accelerator
</noinclude>
+
|CatPkg=www-servers/varnish
=== Installion du Stage 3 ===
+
|Homepage=https://www.varnish-cache.org/
 +
}}
 +
'''Varnish''' is a Web cache and HTTP accelerator.  Varnish will either serve cached content, or retrieve content from the server, and cache it.  Varnish cache will reduce I/O pressure on Web servers.
  
La prochaine étape dans la mise en place de Funtoo Linux consiste à télécharger et à installer le Stage 3. Le Stage 3 fournit un système pré-compilé qui sert de point de départ à l'installation du système d'exploitation Funtoo Linux. Ouvrez une nouvelle fenêtre dans votre navigateur Web en allant à l'une de ces adresses: 
+
==Install==
{{MirrorList}}
+
===Emerge===
  
Navigons dans les répertoires des miroirs afin de trouver l'archive qui convient à notre installation.
+
Install {{Package|www-servers/varnish}}:
 +
<console>###i## emerge www-servers/varnish</console>
  
==== Quelle version choisir? ====
+
==Configuration==
  
'''En cas d'incertitude, sélectionnez <code>funtoo-current</code>.'''
+
{{note|as your varnish is local to your server, your server needs to be aware that it is behind a proxy, and configured for [http://en.wikipedia.org/wiki/X-Forwarded-For x-forwarded-for] or similar to fetch real users IP addresses instead of displaying 127.0.0.1 or localhost.}}
  
Funtoo Linux offre différentes variantes de ses versions pré-compilées. En voici une liste ainsi que leur trait distinctif:
+
Configuration is controlled by /etc/varnish/default.vcl & /etc/conf.d/varnishd
  
{{TableStart}}
+
{{file|name=/etc/varnish/default.vcl|desc=varnish configuration file|body=
<tr><th class="info">Version</th><th class="info">Description</th></tr>
+
vcl 4.0;
<tr><td><code>funtoo-current</code></td><td>La version la plus souvent choisie. Les mises à jour sont fréquentes et rapides. C'est le choix de prédilection de la plupart des utilisateurs d'un poste de travail.</td></tr>
+
backend default {
<tr><td><code>funtoo-current-hardened</code></td><td>Similaire à <code>funtoo-current</code>, mais construite autour d'un toolchain plus rigoureux.</td></tr>
+
    .host = "127.0.0.1";
<tr><td><code>funtoo-stable</code></td><td>Version misant sur la fiabilité des paquets, les mises à jour sont moins fréquentes.</td></tr>
+
    .port = "8080";
{{TableEnd}}
+
}
 +
}}
  
Consultez [[Funtoo_Linux#What_are_the_differences_between_.27stable.27.2C_.27current.27_and_.27experimental.27_.3F|le wiki sur les différences entre «stable», «current» et «experimental»]] pour en savoir plus.
+
{{file|name=/etc/conf.d/varnishd|desc=varnish configuration file|body=
 +
VARNISHD="/usr/sbin/varnishd"
 +
VARNISHADM="/usr/bin/varnishadm"
 +
CONFIGFILE="/etc/varnish/default.vcl"
 +
VARNISHD_OPTS="-a 127.0.0.1:80"
 +
VARNISHD_OPTS="${VARNISHD_OPTS} -u varnish -g varnish"
 +
}}
  
==== Quelle architecture?  ====
+
Varnish will fetch data from localhost:8080 and serve accelerated proxy data on localhost:80
  
'''En cas d'incertitude, optez pour <code>x86-64bit</code>, ou possiblement <code>pure64</code> pour l'installation sur un serveur.'''
+
=== [https://www.varnish-cache.org/docs/4.0/users-guide/increasing-your-hitrate.html Achieving a high hit rate] ===
  
Choix disponibles pour les ordinateurs compatibles PC:
+
=== c10k ===
 +
For 10,000 concurrent connections -- or not -- a few configuration settings control the power of varnish.  If you're having varnish directly serve to the outside world, dial back concurrency to say 50 or 100 connections per IP. You must take into account corporations and universities hammering several connections from a singular IP.  c10k is useful information for if varnish is behind a load balancer such as pound, nginx, or tengine, and all requests are internal and local.
  
{{TableStart}}
+
{{file|name=/etc/conf.d/varnishd|desc=varnish concurrency settings|body=
<tr><th class="info">Architecture</th><th class="info">Description</th></tr>
+
VARNISHD_OPTS="-a 127.0.0.1:80 -p thread_pool_min=20 -p thread_pool_max=1000 -p thread_pool_add_delay=2 -s malloc,700M"
<tr><td><code>x86-64bit</code></td><td>Conçu pour les processeurs modernes 64-bit. Utilise un jeu d'instructions et un adressage 64-bit. Demeure compatible avec les applications 32-bit en fournissant le support «multilib».</td></tr>
+
}}
<tr><td><code>pure64</code></td><td>Conception identique au précédent '''sans le support 32-bit'''.</td></tr>
+
<tr><td><code>x86-32bit</code></td><td>Pour les machines 32-bit telles Athlon XP, Pentium 4, ou Atom antérieur.</td></tr>
+
{{TableEnd}}
+
  
==== Moutures 64-bit ====
+
{{file|name=/etc/varnish/default.vcl|desc=varnish concurrency settings|body=
 +
backend default {
 +
    .host = "127.0.0.1";
 +
    .port = "8080";
 +
    .connect_timeout = 600s;
 +
    .first_byte_timeout = 600s;
 +
    .between_bytes_timeout = 600s;
 +
    .max_connections = 10000;
 +
    # .port = "80" led to issues with competing for the port with apache.
 +
}
 +
}}
  
À l'intérieur de la section <code>/funtoo-current/x86-64bit/</code> sur l'un de nos miroirs, vous y verrez plusieurs sous-ensembles de Funtoo Linux 64-bit. Ce sont des Stage 3 spécialement conçus pour tourner un type de processeur particulier afin d'offir le meilleur rendement possible. Ces versions pré-compilées du système Funtoo Linux vous font profiter du jeu d'instructions spécifique à chaque processeur.
+
== Boot Service ==
  
Si votre processeur est du type AMD, téléchargez un stage3 d'un des répertoires <code>generic_64</code>, <code>amd64-k8</code>, <code>amd64-k10</code>, <code>amd64-bulldozer</code>, <code>amd64-piledriver</code>, <code>amd64-steamroller</code> ou <code>amd64-jaguar</code>.  Voir [[Subarches#64-bit AMD Processors|notre liste de moutures 64-bit AMD]]
+
To start varnish immediately:
pour obtenir de l'aide sur le choix de la mouture qui vous convient le mieux.
+
<console>###i## rc-service varnishd start</console>
  
Si votre processeur est du type Intel, téléchargez un stage3 d'un des répertoires <code>generic_64</code>, <code>atom_64</code>, <code>core2_64</code> ou <code>corei7</code>. La mouture <code>corei7</code> convient parfaitement aux processeurs Intel dernier cri, incluant Core i3 et Core i5 ainsi  que plusieurs Xeons. Voir [[Subarches#64-bit Intel Processors|notre liste de moutures Intel 64-bit]] pour vous aider à faire un choix judicieux.
+
To start varnish at boot:
 +
<console>###i## rc-update add varnishd default</console>
  
Pour les processeurs 32-bit, téléchargez un stage3 d'un des répertoires <code>generic_32</code>, <code>i686</code>, <code>core2_32</code>, <code>atom_32</code> ou <code>athlon-xp</code>.
+
== Verification ==
 +
To verify that your traffic is going through varnish, and see if you're getting hits or misses:
 +
<console>$##i## curl -I http://www.funtoo.org/Welcome</console>
  
==== Réglage de la date ====
+
== Benchmarking ==
 +
{{package|app-admin/apache-tools}} apache benchmark can show the power of varnish.  The examples shown are running 500 requests with concurrency of 100 hits.
  
{{Important|Il y a des risques que Portage ne télécharge pas correctement l'archive du fichier d'installation quand la date du système s'éloigne trop de la date courante, voire des mois ou des années. Cela en raison du fait que certains sources sont téléchargés via HTTPS qui utilise des certificats SSL. Ces certificats fournissent une date d'activation et une date d'expiration. Cependant, si l'écart n'est pas trop prononcé, vous pouvez probablement ignorer cette étape pour l'instant.}}
+
;Example 1: ab against a 3 worker cluster mode puma server
 +
<console>###i## ab -n 500 -c 100 http://127.0.0.1:3000/index.html | grep Request</console>
 +
Requests per second:    110.92 [#/sec] (mean)
  
Vérifions maintenant si l'heure et la date sont conformes aux valeurs UTC. Utilisez la commande <code>date</code> pour vérifier le tout:
+
;Example 2: ab against the same server served through varnish
 +
<console>###i## ab -n 500 -c 100 http://127.0.0.1/index.html | grep Request</console>
 +
Requests per second:   10268.42 [#/sec] (mean)
  
<console>
+
== SSL support ==
# ##i##date
+
Varnish does not support ssl.  There are packages to get around this limitation:
lundi 22 décembre 2014, 09:06:06 (UTC-0500)
+
* {{package|net-misc/stunnel}}
</console>
+
* {{package|www-servers/pound}}
  
Si vous devez corriger les date et heure, utilisez cette forme de la commande date: <code>date MMDDhhmmYYYY</code>, en gardant à l'esprit que <code>hhmm</code> représente le format 24 heures.
+
== Media ==
 
+
{{#widget:YouTube16x9|id=JEF6_XC-2ZU}}
Une fois le réglage complété, cela constitue une très bonne idée que d'initialiser l'horloge matérielle avec l'heure UTC:
+
{{EbuildFooter}}
 
+
<console>
+
# ##i##hwclock --systohc
+
</console>
+
 
+
==== Téléchargement du Stage3 ====
+
 
+
Une fois à la racine du système Funtoo Linux, utilisez l'utilitaire <code>wget</code> pour télécharger l'archive Stage 3 que vous avez choisie pour votre système Funtoo Linux. Le fichier sera enregistré ainsi dans le dossier <code>/mnt/funtoo</code>:
+
 
+
<console># ##i##cd /mnt/funtoo
+
# ##i##wget http://build.funtoo.org/funtoo-current/x86-64bit/generic_64/stage3-latest.tar.xz
+
</console>
+
 
+
Souvenez-vous qu'un système 64-bit exécute autant les jeux d'instructions 64-bit que 32-bit. Par contre un système 32-bit n'exécute que les jeux d'instructions 32-bit. Assurez-vous également de choisir un Stage 3 conçu spécifiquement pour votre type de processeur. Si vous avez quelque incertitude, misez sur un choix sûr en téléchargeant un Stage 3 <code>generic_64</code> ou <code>generic_32</code> selon le cas.
+
 
+
Extrayez le contenu du fichier d'archive avec la commande suivante:
+
<console>
+
# ##i##tar xpf stage3-latest.tar.xz
+
</console>
+
 
+
{{Important|Il est très important d'utiliser l'option "<code>'''p'''</code>". Elle instruit <code>tar</code> de ''préserver'' les permissions et les droits de propriété qui existent dans l'archive. Autrement les permissions d'accès aux fichiers seront incorrectes.}}
+

Revision as of 05:15, December 23, 2014

www-servers/varnish


Source Repository:Gentoo Portage Tree
Homepage

Summary: Varnish is a state-of-the-art, high-performance HTTP accelerator

Use Flags

tools
Build additional tools: varnishhist, varnishstat, varnishtop, varnishsizes
jemalloc
Use dev-libs/jemalloc for allocations

News

Mgorny

New OpenGL management in Funtoo

Funtoo is switching to an improved system for managing multiple OpenGL providers (Mesa/Xorg, AMD and nVidia). The update may involve blockers and file collisions.
30 March 2015 by Mgorny
Drobbins

Subarch Profiles are coming...

Subarch profiles are on their way! Learn more here.
29 March 2015 by Drobbins
Drobbins

RSS/Atom Support

You can now follow this news feed at http://www.funtoo.org/news/atom.xml .
10 February 2015 by Drobbins
View More News...

Varnish

Tip

This is a wiki page. To edit it, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

Varnish is a Web cache and HTTP accelerator. Varnish will either serve cached content, or retrieve content from the server, and cache it. Varnish cache will reduce I/O pressure on Web servers.

Install

Emerge

Install Varnish:

# emerge www-servers/varnish

Configuration

Note

as your varnish is local to your server, your server needs to be aware that it is behind a proxy, and configured for x-forwarded-for or similar to fetch real users IP addresses instead of displaying 127.0.0.1 or localhost.

Configuration is controlled by /etc/varnish/default.vcl & /etc/conf.d/varnishd

/etc/varnish/default.vcl - varnish configuration file
vcl 4.0;
backend default {
    .host = "127.0.0.1";
    .port = "8080";
}
/etc/conf.d/varnishd - varnish configuration file
VARNISHD="/usr/sbin/varnishd"
VARNISHADM="/usr/bin/varnishadm"
CONFIGFILE="/etc/varnish/default.vcl"
VARNISHD_OPTS="-a 127.0.0.1:80"
VARNISHD_OPTS="${VARNISHD_OPTS} -u varnish -g varnish"

Varnish will fetch data from localhost:8080 and serve accelerated proxy data on localhost:80

Achieving a high hit rate

c10k

For 10,000 concurrent connections -- or not -- a few configuration settings control the power of varnish. If you're having varnish directly serve to the outside world, dial back concurrency to say 50 or 100 connections per IP. You must take into account corporations and universities hammering several connections from a singular IP. c10k is useful information for if varnish is behind a load balancer such as pound, nginx, or tengine, and all requests are internal and local.

/etc/conf.d/varnishd - varnish concurrency settings
VARNISHD_OPTS="-a 127.0.0.1:80 -p thread_pool_min=20 -p thread_pool_max=1000 -p thread_pool_add_delay=2 -s malloc,700M"
/etc/varnish/default.vcl - varnish concurrency settings
backend default {
    .host = "127.0.0.1";
    .port = "8080";
    .connect_timeout = 600s;
    .first_byte_timeout = 600s;
    .between_bytes_timeout = 600s;
    .max_connections = 10000;
    # .port = "80" led to issues with competing for the port with apache.
}

Boot Service

To start varnish immediately:

# rc-service varnishd start

To start varnish at boot:

# rc-update add varnishd default

Verification

To verify that your traffic is going through varnish, and see if you're getting hits or misses:

$ curl -I http://www.funtoo.org/Welcome

Benchmarking

Apache-tools apache benchmark can show the power of varnish. The examples shown are running 500 requests with concurrency of 100 hits.

Example 1
ab against a 3 worker cluster mode puma server
# ab -n 500 -c 100 http://127.0.0.1:3000/index.html | grep Request

Requests per second: 110.92 [#/sec] (mean)

Example 2
ab against the same server served through varnish
# ab -n 500 -c 100 http://127.0.0.1/index.html | grep Request

Requests per second: 10268.42 [#/sec] (mean)

SSL support

Varnish does not support ssl. There are packages to get around this limitation:

  • net-misc/stunnel (package not on wiki - please add)
  • www-servers/pound (package not on wiki - please add)

Media