Week #2 Understanding Persistent and Non-persistent HTTP Connections

$24.99 $18.99

To understand persistent and non-persistent HTTP connections and corresponding performance impact. Create a web page with N (e.g. 10) embedded images. Each image should be of minimum 2 MB size. Configure your browser (Firefox) with following settings (each setting requires repeat of experiment) Non persistent connection 2 persistent connections 4 persistent connections 6 persistent connections…

5/5 – (2 votes)

You’ll get a: zip file solution

 

Categorys:

Description

5/5 – (2 votes)

To understand persistent and non-persistent HTTP connections and corresponding performance impact.

Create a web page with N (e.g. 10) embedded images. Each image should be of minimum 2 MB size. Configure your browser (Firefox) with following settings (each setting requires repeat of experiment)

  • Non persistent connection

  • 2 persistent connections

  • 4 persistent connections

  • 6 persistent connections

  • 10 persistent connections.

Observation: Note down the time taken to display the entire page in each of the settings. Ensure that (cache is cleared before starting the web request). Explain the response time differences. What is the optimal number of persistent connections for best performance? Explain your answer.

Introduction

The Apache HTTP server is the most widely-used web server in the world. It provides many powerful features including dynamically loadable modules, robust media support, and extensive integration with other popular software.

Objective: Understand persistent and non-persistent HTTP connections and corresponding performance impact.

Experiment: Create a web page with N (e.g. 10) embedded images. Each image should be of minimum 2 MB size. Configure your browser (Firefox) with following settings (each setting requires repeat of experiment)

  1. Non-persistent connection

  1. 2 persistent connections

  1. 4 persistent connections

  1. 6 persistent connections

  1. 10 persistent connections

Note down the time taken to display the entire page in each of the settings. Ensure that cache is cleared before starting the web request. Explain the response time differences. What is the optimal number of persistent connections for best performance? Explain your answer.

Note: To install Apache server, use the following command,

sudo apt-get install apache2

If there is any error during installation, update the package manager by issuing the command,

sudo apt-get update

EXECUTION STEPS

Step 1: Connect 2 desktops using switch and cables as shown below. (Use 2 VMs on Virtualbox or VMware instead of physical connections.)

Server Client

$sudo ip addr add 172.16.10.1/24 dev enps0 $sudo ip addr

Note: If IP address fluctuates, kindly setup the IP address manually using ‘Edit connections’.

Step 4: The apache2.conf file present in the etc/apache2 directory is modified as:

  1. The keep-alive option was set (i.e. value was made ON)

  1. The MaximumKeepAliveRequests were set to 2 $sudo nano /etc/apache2/apache2.conf

Step 5: Store images in the server path. A html page consisting of 10 images having size > 2MB were placed and accessed by the client. This html page is stored in the location – /var/www/html/file_name.html.

Note: Use the images provided by faculty incharges.

Step 6: Prepare a web page as shown below. The html file needs to add 10 images. (Kindly skip the style attribute in the below image)

Client side:

Client IP address can be set by the following command. $sudo ip addr add 172.16.10.2/24 dev enps0 $sudo ip addr

Note: If IP address fluctuates, kindly setup the IP address manually using ‘Edit connections’.

There are broadly two parts of execution:

  1. Dealing with non-persistent connections

  1. Dealing with persistent connections

Open Firefox browser to configure for persistent option. Go to browser and type about:config and search for the term ‘persistent’

  • While using non-persistent connection experiment, the max-persistent-connections-per-server has the value set to 0 and persistent-settings value set to false.

  • While using persistent connection experiment, the max-persistent-connections-per-server should have value greater than 0 (depending on the number of persistent connections needed) and persistent-settings value set to true.

PART 1: NON-PERSISTENT CONNECTION

Step 1: This is done by setting the value of max-persistent-connection-per-server to 0 in the client computer.

Step 2: Access web page on client-side browser (Firefox)

The client could access the file as:

172.16.10.1/file_name.html where–> 172.16.10.1 is Server’s IP

Here the file name is a.html present in server. So, by tying 172.16.10.1/a.html in client browser, we will be able to open the requested web page.

Note 1: The wireshark should capture the packets between the client and the server while the file is accessed.

Note 2: The images in the HTML page should have all the permissions specified through the server for the proper access.

Step 3: Use wireshark. Open wireshark in the server computer while client is trying to access the server’s local host webpage. Apply ‘http’ filter and note the time to capture all the 10 images.

Here it is 2.429637133 – 2.070581279 = 0.359055854

PART 2: PERSISTENT CONNECTIONS

Step 1: For 2 persistent connections, set the value of max-persistent-connection-per-server

to 2 in the client computer.

Step 2: Repeat the steps 1-3 in the previous section.

Here it is 3.042252027 – 2.685888334 = 0.356363

Step 3: For 4 persistent connections, Set the value of max-persistent-connection-per-server to 4 in the client computer.

Step 4: Repeat the steps 1-3 in the previous section.

Here is it 2.005934395 – 1.667969557 = 0.337964838

Step 5: For 6 persistent connections, set the value of max-persistent-connection-per-server to 6 in the server computer.

Step 6: Repeat the steps 1-3 in the previous section.

Here it is 4.241013689 – 3.915242469 = 0.325771229

Step 7: For 10 persistent connections, set the value of max-persistent-connection-per-server to 10 in the client computer.

Step 8: Repeat the steps 1-3 in the previous section.

Here it is 1.882459413-1.556964626=0.325494787

OBSERVATIONS REQUIRED ON EDMODO:

Find out the time taken to load images for 2 4 6 persistent connections is lesser or greater than 10 persistent compared to non-persistent. Why? Find out the optimal persistent connections.

SCREENSHOTS REQUIRED FOR EDMODO:

  1. Non-persistent connection wireshark capture (should include all 10 images)

  1. Persistent connections wireshark capture – 2, 4, 6, 8 & 10 respectively (should include all 10 images).

Week #2 Understanding Persistent and Non-persistent HTTP Connections
$24.99 $18.99