This shows you the differences between two versions of the page.
scgc:laboratoare:06 [2020/03/31 20:56] alexandru.carp [3. [20p] Varnish configuration] |
scgc:laboratoare:06 [2021/10/27 14:08] (current) maria.mihailescu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Laboratory 06. Load balancing and web acceleration ====== | + | ====== Load balancing and web acceleration ====== |
===== Lab Setup ===== | ===== Lab Setup ===== | ||
- | * We will be using a virtual machine in the [[http://cloud.curs.pub.ro/|faculty's cloud]]. | + | * We will be using a virtual machine in the [[http://cloud.grid.pub.ro/|faculty's cloud]]. |
- | * When creating a virtual machine follow the steps in this [[https://cloud.curs.pub.ro/about/tutorial-for-students/|tutorial]]. | + | |
* When creating a virtual machine in the Launch Instance window: | * When creating a virtual machine in the Launch Instance window: | ||
- | * For **Availability zone**, choose **CAMPUS**, **CI** or **hp** | ||
* Select **Boot from image** in **Instance Boot Source** section | * Select **Boot from image** in **Instance Boot Source** section | ||
* Select **SCGC Template** in **Image Name** section | * Select **SCGC Template** in **Image Name** section | ||
Line 98: | Line 96: | ||
Using Wireshark (or tcpdump), start a capture on the br0 interface on the client machine. | Using Wireshark (or tcpdump), start a capture on the br0 interface on the client machine. | ||
<code> | <code> | ||
- | student@scgc:~$ sudo tcpdump -i br0 | + | student@scgc:~$ sudo tcpdump -i br0 -e |
</code> | </code> | ||
Notice the IP and MAC addresses from: | Notice the IP and MAC addresses from: | ||
Line 300: | Line 298: | ||
</code> | </code> | ||
- | We will also need to change the DocumentRoot of the Apache server on ''scgc-vm-2''. For this, edit''/etc/apache2/sites-available/000-default.conf'' and change the DocumentRoot from ''/var/www/html'' to ''/var/www''. | + | We will also need to change the DocumentRoot of the Apache server on ''scgc-vm-2''. For this, edit''/etc/apache2/sites-available/000-default.conf'' and change the DocumentRoot from ''/var/www/html'' to ''/var/www''. Restart the ''apache2'' service. |
In order to measure the duration of the data transfer with and without Varnish, use ''httperf'' on the host machine in order to download the following file: http://10.0.0.20/data/10M.dat for direct access or http://10.0.0.10/data/10M.dat for Varnish access. | In order to measure the duration of the data transfer with and without Varnish, use ''httperf'' on the host machine in order to download the following file: http://10.0.0.20/data/10M.dat for direct access or http://10.0.0.10/data/10M.dat for Varnish access. | ||
Line 306: | Line 304: | ||
While ''httperf'' is running, check with ''htop'' the load on both virtual machines. | While ''httperf'' is running, check with ''htop'' the load on both virtual machines. | ||
- | Use the ''--uri'' option for ''httperf'' to specify what page is to be accessed (in our case http://10.0.0.20/data/10M.dat). Notice the difference between the Request rate parameter for the direct access and the Varnish access. | + | Use the ''%%--%%uri'' option for ''httperf'' to specify what page is to be accessed (in our case http://10.0.0.20/data/10M.dat). Notice the difference between the Request rate parameter for the direct access and the Varnish access. |
==== 5. [10p] Varnish statistics ==== | ==== 5. [10p] Varnish statistics ==== | ||
Line 392: | Line 390: | ||
<note> | <note> | ||
- | Use these examples [[https://stackoverflow.com/questions/31291374/varnish-backend-vcc-compiler-failed/45082602#45082602|here]] and [[https://varnish-cache.org/trac/wiki/LoadBalancing|here]]. Take into account the fact that the VCL version may differ from the one used by the varnish on your system, and the syntax may be need to be changed. | + | Use the examples and information [[https://stackoverflow.com/questions/31291374/varnish-backend-vcc-compiler-failed/45082602#45082602|here]] and [[https://varnish-cache.org/docs/6.5/reference/vmod_directors.html#description|here]]. Take into account the fact that the VCL version may differ from the one used by the varnish on your system, and the syntax may be need to be changed. |
</note> | </note> | ||
In order to verify this task, access in a browser (or wget in the CLI) 10.0.0.10, wait 2 minutes (for the Varnish cache to expire) and access it again. | In order to verify this task, access in a browser (or wget in the CLI) 10.0.0.10, wait 2 minutes (for the Varnish cache to expire) and access it again. | ||