Web Server 工作流
【Web Server 工作流】Web Server Workload Characterization
Assignment 3 and 4, COMPSCI 315
Due: Refer to the deadline on Canvas;
Submission via Canvas
1 Introduction >Internet traffic measurement involves collecting network data that can be analyzed for several purposes such
as traffic modeling, designing better network protocols, and traffic management. The growth in popularity
of Web in the 1990s resulted in researchers trying to characterize Web traffic. These research works have
utilized Web server logs to understand the workload characteristics of Web servers. The results of the
research has led to improving performance of Web applications, designing better caching and load balancing
techniques, and providing better user experience to clients, among other things [1, 3–5].
2 Web Server Access Logs
In this assignment, you will analyze one of two university Web server access logs [2]:
- A campus-wide Web server at the University of Saskatchewan (UofS_access_log).
- A department-level Web server at the University of Calgary (UofC_access_log).
The server access log contains information about all requests made to the server and the corresponding
server responses. The server log is in the fixed text-based Common Log Format and has the following syntax:
hostname - - [dd/mm/yyyy:hh:mm:ss time_zone] object response_code transfer_size
The hostname is the resolved name or IP address of the client making a request for an object stored on
the Web server. The following fields (- -) are usually empty, but may contain user-identifier information
such as username. The next field indicates the day and time the request was made along with the time zone.
The URL requested is noted in the object field. The response_code field indicates the HTTP response
code returned by the server. The transfer_size field records the bytes transferred by the server.
For example, the following is a line from the UofS_access_log:
imhotep.usask.ca - - [15/Sep/1995:16:02:09 -0600] "GET /changes.html HTTP/1.0" 200 1254
This line represents a request made by host imhotep.usask.ca on September 15, 1995 at 4:02:09 p.m.
The time zone is central time (GMT-0600). The host requested the HTML file called changes.html using
HTTP version 1.0. This request was successfully completed by the server as shown by the status code 200.
The server transferred 1254 bytes to the host imhotep.usask.ca.
Note the following about the datasets:
UofS_access_log: This trace contains seven month’s worth of all HTTP requests to the university
Web server. The logs fully preserve the originating host and HTTP request. A local client is one
containing usask.ca in the hostname or an IP address with 128.233.X.X. All others are considered
remote clients. Timestamps have 1 second resolution.
1
UofC_access_log: This trace contains approximately one year’s worth of all HTTP requests to the
University of Calgary’s Department of Computer Science Web server. The hosts making requests to
the server have had their addresses removed to preserve privacy. Hosts are identified as either local
or remote where local is a host from the University of Calgary, and remote is a host from outside of
the University of Calgary domain. Paths have been removed. Files were numbered from 1 for the
first file encountered in the trace. Files retain the original file extension, so that the type of file can
be determined. Paths of the filenames have been removed. Modified filenames consist of two parts:
num.type, where num is a unique integer identifier, and type is the extension of the requested file.
Timestamps have 1 second resolution. - Web Server Workload Analysis
Choose one dataset you like and answer all questions: - Based on your learning of Internet measurements in this course answer the following questions:
(a) What measurement mechanism was used for the collection of the Web server logs? Active, Passive,
or both.
(b) What type of network were the measurements taken from? Edge network, core network, or both.
(c) What type of analysis techniques did you apply on the dataset to get the answers? Online, offline,
or both.
(d) Is analyzing server logs the only way to characterize the workload of a Web server? Why? - How many requests are made per day on average?
- How many bytes were transferred during the entire log duration expressed in Megabytes (MB)?
- What is the average number of bytes transferred per day expressed in MB per day?
- Produce a breakdown of the server response codes expressed in percentage of the total number of
requests. Group the status code as follows: Successful, Not Modified, Found, Unsuccessful. A successful
response (status code: 200) means that the server received a request for a valid object (for which the
client has the necessary access privilege), the object was found, and returned successfully to the client.
A not modified response (status code: 304) means that the client already has a copy of the requested
object in its cache, wants to verify if the object is up-to-date, and the client is informed that the
object has not been modified at the server. A found response (status code: 302) results when the
requested object is known to be stored in a different location than the URL requested by the client.
The server responds with the new URL in this situation. A unsuccessful response (status code: 4XX
and 5XX) happens when the requested object does not exist on the server, the client did not have
access permission, or there was a server-side error. - How many requests are made by local clients and remote clients, respectively? Report your answer as
a percentage of total requests. - How many bytes are transferred by local clients and remote clients, respectively? Report your answer
as a percentage of total bytes transferred. - Produce a breakdown of requests by file type category. The file categories are as follows: Video, Sound,
Dynamic, Formatted, HTML, Images, Others. Report your answer as a percentage of total requests.
The file categories by file extensions are described in Table 1. - Using Table 1, produce a breakdown of bytes transferred by each file category. Report your answer as
a percentage of total bytes transferred. - Using Table 1, calculate the average transfer sizes (in bytes) of each file category.
2
Table 1: File categories
Category File extension
HTML html, htm, shtml, map
Images gif, jpeg, jpg, xbm, bmp, rgb, xpm
Sound au, snd, wav, mid, midi, lha, aif, aiff
Video mov, movie, avi, qt, mpeg, mpg
Formatted ps, eps, doc, dvi, txt
Dynamic cgi, pl, cgi-bin
Others Everything else - Identify all unique object requests in the log and sort them based on frequency. Next, identify all the
objects that were requested only once in the log. What percentage of unique objects are accessed only
once in the log? What percentage of bytes are accessed only once in the log? - Produce a Cumulative Distribution Function (CDF) plot of the transfer sizes of all distinct objects.
The x-axis should be in log-10 scale. - Produce at least one plot to show the percentage of total requests per hour of the day, the percentage
of total requests per day of the week, or percentage of total requests per month of the year. - Produce a CDF plot of the inter-reference times of objects that are requested more than once. The
x-axis should be in log-10 scale.
For questions 6 onwards, your analysis should be based on successful requests only. Report
your results to 2 decimal places. Some requests in the log may be malformed. It is safe to
ignore these requests in your analysis. Please check that these requests account for a negligible
fraction of the total requests. Briefly comment on your results (Explain the results and discuss
their implications). - Submission
Complete the attached file with your answers. Convert this file to PDF format. Rename it
to your username.pdf. Submit the file to Canvas. Submit answers to questions 1-7 as part of
Assignment 3. Submit answers to questions 8-14 as part of Assignment 4.
A code template will be provided at a later date. For added challenge, you are encouraged to write the
parser and analysis scripts from scratch using a programming language of your choice. You are free to use
online resources (e.g., online code, tools) as long as you provide appropriate attribution. You do not need
to submit the code. You should keep the code, in case we wish to see it. You are encouraged to discuss the
assignment with each other, however, the code and the produced results must be done individually.
Questions regarding this assignment and code template should be directed to the course tutors. - Grading Scheme
Each question is worth 10 points. Assignment 3 is worth 70 points. Assignment 4 is worth 70 points. For
each question, you will receive full points for the correct answer. You will receive 50% points for an answer,
which is close to the correct answer. You will receive zero points for an answer that is far off from the correct
answer. Each answer should have a brief explanation to receive full marks.
References
[1] Martin Arlitt and Tai Jin, A Workload Characterization Study of the 1998 World Cup Web Site, IEEE
Network 14 (2000), no. 3.
3
[2] Martin Arlitt and Carey Williamson, Internet Web Servers: Workload Characterization and Performance
Implications, IEEE/ACM Trans. Netw. 5 (1997), no. 5, 631–645.
[3] Leeann Bent, Michael Rabinovich, Geoffrey M. Voelker, and Zhen Xiao, Characterization of a Large Web
Site Population with Implications for Content Delivery, WWW 9 (2006), no. 4.
[4] Venkata Padmanabhan and Lili Qiu, The Content and Access Dynamics of a Busy Web Site: Findings
and Implications, Proc. ACM SIGCOMM, 2000.
[5] Weisong Shi, Y Wright, Eli Collins, and Vijay Karamcheti, Workload Characterization of a Personalized
Web Site and its Implications for Dynamic Content Caching, Proc. WCW, 2002.
推荐阅读
- gitlab|gitlab 通过备份还原 admin/runner 500 Internal Server Error
- 私有化轻量级持续集成部署方案--03-部署web服务(下)
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- spring|spring boot项目启动websocket
- OC:|OC: WKWebView详解
- WKWebview|WKWebview js 调用oc 和oc调用js
- javaweb|基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
- webug3.0渗透基础第九、十关笔记
- 前端|web前端dya07--ES6高级语法的转化&render&vue与webpack&export
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验