Jump to content

Recommended Posts

Varnish is an HTTP accelerator designed for content-heavy dynamic web sites as well as APIs. In contrast to other web accelerators, such as Squid, which began life as a client-side cache, or Apache and nginx, which are primarily origin servers, Varnish was designed as an HTTP accelerator.

Here how you can optimize varnish cache server in CWP

Install Varnish cache from CWP Webserver Settings >> Webserver conf

For Centos 7/EL7 :
Edit this file : /etc/varnish/varnish.params

and replace all lines with the below configs :

# Varnish environment configuration description. This was derived from
# the old style sysconfig/defaults settings
# Set this to 1 to make systemd reload try to switch VCL without restart.
# Set WARMUP_TIME to force a delay in reload-vcl between vcl.load and vcl.use
# This is useful when backend probe definitions need some time before declaring
# configured backends healthy, to avoid routing traffic to a non-healthy backend.
# Main configuration file. You probably want to change it.
# Default address and port to bind to. Blank address means all IPv4
# and IPv6 interfaces, otherwise specify a host name, an IPv4 dotted
# quad, or an IPv6 address in brackets.
# Admin interface listen address and port
# Shared secret file for admin interface
# Backend storage specification, see Storage Types in the varnishd(5)
# man page for details.
# User and group for the varnishd worker processes
# Other options, see the man page varnishd(1)
DAEMON_OPTS="-p thread_pools=30 -p thread_pool_min=600 -p thread_pool_max=20000 -p connect_timeout=600 -p thread_pool_timeout=600 -P /run/varnish.pid"

then restart varnish server from cwp admin dashboard

For centos 8 stream/almalinux/rockylinux :

Edit this systemed service file : /usr/lib/systemd/system/varnish.service

Then find ExecStart= directive and replace the full line with below config :

ExecStart=/usr/sbin/varnishd -a :82 -f /etc/varnish/default.vcl -p thread_pools=30 -p thread_pool_min=600 -p thread_pool_max=20000 -s malloc,1G -p connect_timeout=600 -p thread_pool_timeout=600 -P /run/varnish.pid

it will look like below config example :



Description=Varnish Cache, a high-performance HTTP accelerator


# Maximum number of open files (for ulimit -n)

# Locked shared memory - should suffice to lock the shared memory log
# (varnishd -l argument)
# Default log size is 80MB vsl + 1M vsm + header -> 82MB
# unit is bytes

# Enable this to avoid "fork failed" on reload.

# Maximum size of the corefile.

ExecStart=/usr/sbin/varnishd -a :82 -f /etc/varnish/default.vcl -p thread_pools=30 -p thread_pool_min=600 -p thread_pool_max=20000 -s malloc,1G -p connect_timeout=600 -p thread_pool_timeout=600 -P /run/varnish.pid



Then run daemon reload command :

systemctl daemon-reload

After restart the varnish server from cwp dashbaord.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...