Measure Web Performance The performance of a web system perceived by end users is decided by Browser performance Network path performance Server performance Measuring a web system with multiple geographically separated servers can be quite different from measuring a web system with a single server. Performance of a web server observed from clients at different network can be quite different. 11/6/2018 C. Edward Chow
Web Performance Metrics Server connection rate: 90.60 connections/sec (x3.15) SPECweb96 use peak “operations” rate instead of avg. rate Server error rate: 0.00 err/sec Server thruput: 12.88 Mbit/sec (x2.9) Little's Load Factor: 38.43 (x1.66) Average response time: 0.424 sec (x0.529) Error Level: 0.00 % Average client thruput: 0.34 Mbit/sec (x1.789) Average Std Dev Minimum Maximum Connect time (sec) 0.000674 0.000443 0.000509 0.016882 Response time (sec) 0.801224 0.600517 0.038706 5.094895 11/6/2018 C. Edward Chow
Web Benchmarks Patrick Kilelea’s web page on WebReview, http://webreview.com/wr/pub/1999/01/15/feature/index2.html WebStone, original developed by SGI, obtained by Mindcraft. 3/95, First widely used web benchmarks. Freeware 2.5 release include plain HTML, CGI, NSAPI, ISPAI SPECweb96 Not free. Client software in C and Perl. detailed run rules: warmup_time(300s), run time (600s). with required mix HTTP request & sizes. The load is modeled "typical" ISP. not originate with a vendor of web server hardware or software less bias. Submit results 11/6/2018 C. Edward Chow
WebStone 2.5 Webmaster creates a load on a Web server by running one or more webclient processes on one or more client computers 11/6/2018 C. Edward Chow
11/6/2018 WebStone Setup In conf directory of webmaster, specify the Fileset: the composition of web documents In conf directory, edit the testbed file: specify the Server name, port #, and document directory List of client machines, # of processes in each machines Login and password for accessing Client machines (RCP for copy web document, RSH for start and coordinate the web clients, and receive performance results). RCP and RSH requires the destination machine to be setup for remote access. The .rhosts file of the corresponding accounts needs to contain webmaster machine name and its login name. Use RCP for copy web document, RSH for start and coordinate the web client requests 11/6/2018 C. Edward Chow
WebStone Script After installing WebStone2.5, run the following scripts ./webstone –setup This configures scripts and compiles programs. ./webstone –genfiles This generates web documents in Datafiles directory ./webstone This script runs the benchmarks, rcp documents to the webclients and webserver. (You may have to do it manually.) prints results on the console, and saves in bin/runs directory. Each iteration result is saved with the timestamp as filename 11/6/2018 C. Edward Chow
Filelist # @(#)filelist.standard 1.3 # Filelist for WebStone 2.5 Standard Run Rules, same as filelist.sample /file500.html 350 #500 /file5k.html 500 #5125 /file50k.html 140 #51250 /file500k.html 9 #512500 /file5m.html 1 #5248000 This filelist consists of 5 different files. The number following the filename is the weight of this file in the distribution. All the weights are summed together and the frequency of each file is the weight of that file over the total weights. For example, in this fileset the weights add up to 1000. So the the file500k.html page will occur 350 out of 1000 times, and the file5m.html will occur once every 1000 pages. 11/6/2018 C. Edward Chow
WebStone Benchmark Results [guest@bilbo WebStone2.5]$ ./webstone Clients: gandalf Estimated run time: 1 hours 39 minutes ***** Iteration 1, Total clients 20 ********** Sun Feb 28 04:46:23 MST 1999 Sun Feb 28 04:46:26 MST 1999 /home/guest/webstone/WebStone2.5/bin/webmaster -v -W -C /tmp/webclient -f /home/guest/webstone/WebStone2.5/bin/runs/990228_0446/config -t 10 -u /home/guest/webstone/WebStone2.5/conf/filelist -p 8088 -S WebMaster name = bilbo.uccs.edu Client 0: gandalf # Processes: 20 Webserver: frodo Webmaster: bilbo.uccs.edu:1026 Waiting for READY from 20 clients All READYs received Sending GO to all clients All clients started at Sun Feb 28 04:46:41 1999 11/6/2018 C. Edward Chow
When server is not started No connects from client 0. Is the Web server running? No connects from client 1. Is the Web server running? No connects from client 2. Is the Web server running? No connects from client 3. Is the Web server running? No connects from client 4. Is the Web server running? No connects from client 5. Is the Web server running? No connects from client 6. Is the Web server running? No connects from client 7. Is the Web server running? No connects from client 8. Is the Web server running? No connects from client 9. Is the Web server running? No connects from client 10. Is the Web server running? 11/6/2018 C. Edward Chow
Iteration with 40 clients, Page 0 Single Web Server Process (-X) Waiting for clients completion... Reading results ........................................ All clients ended at Sun Feb 28 05:17:00 1999 ======================================================== Page # 0 Total number of times page was hit 6368 6368 connection(s) to server, 0 errors Average Std Dev Minimum Maximum Connect time (sec) 0.000670 0.000404 0.000509 0.016882 Response time (sec) 0.784760 0.594827 0.038706 4.580398 Response size (bytes) 764 0 764 764 Body size (bytes) 500 0 500 500 3184000 body bytes moved + 1681152 header bytes moved = 4865152 total Page size 500 11/6/2018 C. Edward Chow
Iteration with 40 clients, Page 1 Total number of times page was hit 8401 8401 connection(s) to server, 0 errors Average Std Dev Minimum Maximum Connect time (sec) 0.000680 0.000504 0.000518 0.016340 Response time (sec) 0.800062 0.604051 0.049775 5.094895 Response size (bytes) 5386 0 5386 5386 Body size (bytes) 5120 0 5120 5120 43013120 body bytes moved + 2234666 header bytes moved = 45247786 total Page size 5120 11/6/2018 C. Edward Chow
Iteration with 40 clients, Page 2 Total number of times page was hit 8401 8401 connection(s) to server, 0 errors Average Std Dev Minimum Maximum Connect time (sec) 0.000680 0.000504 0.000518 0.016340 Response time (sec) 0.800062 0.604051 0.049775 5.094895 Response size (bytes) 5386 0 5386 5386 Body size (bytes) 5120 0 5120 5120 43013120 body bytes moved + 2234666 header bytes moved = 45247786 total Page size 5120 11/6/2018 C. Edward Chow
Iteration with 40 clients, Page 3 Total number of times page was hit 154 154 connection(s) to server, 0 errors Average Std Dev Minimum Maximum Connect time (sec) 0.000655 0.000037 0.000565 0.000768 Response time (sec) 1.065931 0.609176 0.564394 4.469623 Response size (bytes) 512269 0 512269 512269 Body size (bytes) 512000 0 512000 512000 78848000 body bytes moved + 41426 header bytes moved = 78889426 total Page size 512000 11/6/2018 C. Edward Chow
Iteration with 40 clients, Page 4 Total number of times page was hit 16 16 connection(s) to server, 0 errors Average Std Dev Minimum Maximum Connect time (sec) 0.000708 0.000233 0.000568 0.001701 Response time (sec) 3.205348 0.660169 2.667094 5.052479 Response size (bytes) 5243151 0 5243151 5243151 Body size (bytes) 5242880 0 5242880 5242880 83886080 body bytes moved + 4336 header bytes moved = 83890416 total Page size 5242880 11/6/2018 C. Edward Chow
WEBSTONE 2.5b3 results: Single Server Process (-X option) Total number of clients: 40 Test time: 10 minutes Server connection rate: 28.79 connections/sec Server error rate: 732.90 err/sec Server thruput: 4.44 Mbit/sec Little's Load Factor: 23.06 Average response time: 0.801 sec Error Level: 2546.11 % Average client thruput: 0.19 Mbit/sec Sum of client response times: 13837.93 sec Total number of pages read: 17271 17271 connection(s) to server, 439739 errors 11/6/2018 C. Edward Chow
WEBSTONE 2.5b3 results with Dynamic Spare Child Servers Total number of clients: 40 Test time: 10 minutes Server connection rate: 90.60 connections/sec (x3.15) Server error rate: 0.00 err/sec Server thruput: 12.88 Mbit/sec (x2.9) Little's Load Factor: 38.43 (x1.66) Average response time: 0.424 sec (x0.529) Error Level: 0.00 % Average client thruput: 0.34 Mbit/sec (x1.789) Sum of client response times: 23057.66 sec (x1.667) Total number of pages read: 54360 (x3.147) 54360 connection(s) to server, 0 errors 11/6/2018 C. Edward Chow
WEBSTONE 2.5b3 results: Single Server Process (-X option) Average Std Dev Minimum Maximum Connect time (sec) 0.000674 0.000443 0.000509 0.016882 Response time (sec) 0.801224 0.600517 0.038706 5.094895 Response size (bytes) 19276 166757 764 5243151 Body size (bytes) 19010 166757 500 5242880 328329600 body bytes moved + 4584224 header bytes moved = 332913824 total 11/6/2018 C. Edward Chow
WEBSTONE 2.5b3 results with Dynamic Spare Child Servers Average Std Dev Minimum Maximum Connect time (sec) 0.035125 0.558549 0.000449 21.009659 Response time (sec) 0.424166 4.413110 0.002891 207.360693 Response size (bytes) 17775 154633 762 5243149 Body size (bytes) 17512 154633 500 5242880 951926820 body bytes moved + 14316376 header bytes moved = 966243196 total 11/6/2018 C. Edward Chow
Apache Serve Load Using /status with Dynamic Spare Child Servers Current Time: Sunday, 28-Feb-1999 09:55:03 MST Restart Time: Sunday, 28-Feb-1999 09:07:33 MST Server uptime: 47 minutes 30 seconds Total accesses: 263550 - Total Traffic: 4.1 GB CPU Usage: u293.62 s2208.03 cu0 cs0 - 87.8% CPU load 92.5 requests/sec - 1.5 MB/second - 16.3 kB/request 167 requests currently being processed, 0 idle servers WWWWWWWWWWWWWWWWWWLWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWL WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.WS........................ ................................................................ Scoreboard Key: "_" Waiting for Connection, "S" Starting up, "R" Reading Request, "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup, "L" Logging, "G" Gracefully finishing, "." Open slot with no current process 11/6/2018 C. Edward Chow
Impact of Increasing # of Web Client Processes with single server process 11/6/2018 C. Edward Chow
Impact of Increasing # of Web Client Processes with dynamic spare server processes 11/6/2018 C. Edward Chow
Compare Web Sites Performance 11/6/2018 C. Edward Chow
Homework #6 WebStone Benchmark cp –r /home/guest/webstone/WebStone2.5 /home/<login> cp –r /home/guest/sites/site.webstone /home/<login>/sites Edit the WebStone2.5/conf/testbed file and replacing MAXCLIENTS=“60” original value is “100” TIMEPERRUN=“3” original value is “10” PORTNO=“<your port#>” Use bilbo as webmaster, gandalf as webclient. Start your web server without –X. Run ./webstone (no need to do setup, genfiles) Plot the server connection rate, server throughput, and average response time , vs the clinet numbers (from 20 to 60). Test apache web servers on frodo, jen, redcloud, walrus. On jen and walrus, use port 80. 11/6/2018 C. Edward Chow