Difference between revisions of "Package:Varnish"
Threesixes (talk | contribs) m (forgot to take out infobox stack shit from gentoo importing) |
Threesixes (talk | contribs) m (add ssl section) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 10: | Line 10: | ||
===Emerge=== | ===Emerge=== | ||
Install {{Package|www-servers/varnish}} | Install {{Package|www-servers/varnish}}: | ||
<console>###i##www-servers/varnish</console> | <console>###i## emerge 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= | ||
vcl 4.0; | |||
backend default { | |||
.host = "127.0.0.1"; | |||
.port = "8080"; | |||
} | |||
}} | }} | ||
{{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) | |||
== SSL support == | |||
Varnish does not support ssl. There are packages to get around this limitation: | |||
* {{package|stunnel}} | |||
* {{package|pound}} | |||
[[Category:Server]] | [[Category:Server]] |
Revision as of 13:36, October 6, 2014
Varnish
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 # emerge www-servers/varnish
Configuration
Configuration is controlled by /etc/varnish/default.vcl & /etc/conf.d/varnishd
/etc/varnish/default.vcl
- varnish configuration filevcl 4.0;
backend default {
.host = "127.0.0.1";
.port = "8080";
}
/etc/conf.d/varnishd
- varnish configuration fileVARNISHD="/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)
SSL support
Varnish does not support ssl. There are packages to get around this limitation:
- No results
- No results