Difference between revisions of "Package:Varnish"

From Funtoo
Jump to navigation Jump to search
m (forgot to take out infobox stack shit from gentoo importing)
(add apache benchmarking)
(2 intermediate revisions by 2 users not shown)
Line 11: Line 11:


Install {{Package|www-servers/varnish}}
Install {{Package|www-servers/varnish}}
<console>###i##www-servers/varnish</console>
<console>###i## www-servers/varnish</console>


==Configuration==
==Configuration==


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


{{file|name=/etc/varnish/default.vcl|desc=varnish configuration file|body=
{{file|name=/etc/varnish/default.vcl|desc=varnish configuration file|body=
# backend default {
vcl 4.0;
#     .host = "127.0.0.1";
backend default {
#     .port = "8080";
     .host = "127.0.0.1";
# }
     .port = "8080";
}
}}
}}


Any traffic pointed at port 8080 will be through varnish.
{{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"
}}
 
Varnish will fetch data from localhost:8080 and serve accelerated proxy data on localhost:80


== BootService ==
== BootService ==


To start varnish immediately:
To start varnish immediately:
<console>###i##rc-service varnishd start</console>
<console>###i## rc-service varnishd start</console>


To start varnish at boot:
To start varnish at boot:
<console>###i##rc-update add varnishd default</console>
<console>###i## rc-update add varnishd default</console>


== Verification ==
== Verification ==
To verify that your traffic is going through varnish.
To verify that your traffic is going through varnish.
<console>$##i##curl -I https://www.varnish-cache.org/</console>
<console>$##i## curl -I https://www.varnish-cache.org/</console>
 
== Benchmarking ==
If your system has apache installed apache benchmark can show the power of varnish.  The examples shown are running 500 requests with concurrency of 100 hits.
 
 
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)
 
 
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)


[[Category:Server]]
[[Category:Server]]

Revision as of 19:24, August 23, 2014

Varnish

   Tip

We welcome improvements to this page. To edit this page, 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 webcache & http accelerator. Varnish will either serve cached content, or retireve content from the server, and cache it. Varnish will reduce I/O pressure from webservers.

Install

Emerge

Install www-servers/varnish

root # www-servers/varnish

Configuration

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

BootService

To start varnish immediately:

root # rc-service varnishd start

To start varnish at boot:

root # rc-update add varnishd default

Verification

To verify that your traffic is going through varnish.

user $ curl -I https://www.varnish-cache.org/

Benchmarking

If your system has apache installed apache benchmark can show the power of varnish. The examples shown are running 500 requests with concurrency of 100 hits.


ab against a 3 worker cluster mode puma server

root # ab -n 500 -c 100 http://127.0.0.1:3000/index.html | grep Request

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


ab against the same server served through varnish

root # ab -n 500 -c 100 http://127.0.0.1/index.html | grep Request

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