Methodologies for generating HTTP streaming video workloads to evaluate web server performance

Recent increases in live and on-demand video streaming have dramatically changed the Internet landscape. In North America, Netflix alone accounts for 28% of all and 33% of peak downstream Internet traffic on fixed access links, with further rapid growth expected [26]. This increase in streaming traffic coincides with the steady adoption of HTTP for use in video streaming. Many streaming video providers, such as Apple, Adobe, Akamai, Netflix and Microsoft, now use HTTP to stream content [5]. Therefore, it is critical that we understand the impact of this emerging workload on web servers. Unlike other web content, a recent study [13] of streaming video shows that even small infrequent latency spikes, manifested as buffering related pauses, can result in shorter viewing times especially during live broadcasts. Unfortunately, no appropriate benchmarks exist to evaluate web servers under HTTP video streaming workloads. In this paper, we devise tools and methodologies for generating workloads and benchmarks for video streaming systems. We describe the difficulties encountered in trying to utilize existing workload characterization studies, motivate the need for workloads, and create example benchmarks. We use these benchmarks to examine the performance of three existing web servers (Apache, nginx, and userver). We find that simple modifications to userver provide promising and significant benefits on some representative streaming workloads. While these results warrant additional investigation, they demonstrate the need for and value of HTTP video streaming benchmarks in web server development.

[1]  Haifeng Chen,et al.  Measurement, Modeling, and Analysis of Internet Video Sharing Site Workload: A Case Study , 2008, 2008 IEEE International Conference on Web Services.

[2]  Pablo Rodriguez,et al.  I tube, you tube, everybody tubes: analyzing the world's largest user generated content video system , 2007, IMC '07.

[3]  Robert Tappan Morris,et al.  An Analysis of Linux Scalability to Many Cores , 2010, OSDI.

[4]  Tim Brecht,et al.  Our troubles with Linux and why you should care , 2011, APSys.

[5]  I. Lazar,et al.  The state of the Internet , 2000 .

[6]  Haibo Chen,et al.  A case for scaling applications to many-core with OS clustering , 2011, EuroSys '11.

[7]  Vivek S. Pai,et al.  Understanding and Addressing Blocking-Induced Network Server Latency , 2006, USENIX Annual Technical Conference, General Track.

[8]  Jiangchuan Liu,et al.  Understanding the Characteristics of Internet Short Video Sharing: YouTube as a Case Study , 2007, ArXiv.

[9]  Tim Brecht,et al.  To chunk or not to chunk: implications for HTTP streaming video server performance , 2012, NOSSDAV '12.

[10]  Eric Bouillet,et al.  Sword: Scalable and Flexible Workload Generator for Distributed Data Processing Systems , 2006, Proceedings of the 2006 Winter Simulation Conference.

[11]  Prashant J. Shenoy,et al.  BenchLab: An Open Testbed for Realistic Benchmarking of Web Applications , 2011, WebApps.

[12]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[13]  Michael Stumm,et al.  FlexSC: Flexible System Call Scheduling with Exception-Less System Calls , 2010, OSDI.

[14]  Michael Zink,et al.  Characteristics of YouTube network traffic at a campus network - Measurements, models, and implications , 2009, Comput. Networks.

[15]  David Mosberger,et al.  httperf—a tool for measuring web server performance , 1998, PERV.

[16]  Karsten Schwan,et al.  StreamGen: a workload generation tool for distributed information flow applications , 2004, International Conference on Parallel Processing, 2004. ICPP 2004..

[17]  Zongpeng Li,et al.  Youtube traffic characterization: a view from the edge , 2007, IMC '07.

[18]  Marco Mellia,et al.  YouTube everywhere: impact of device and infrastructure synergies on user experience , 2011, IMC '11.

[19]  Richard Nelson,et al.  Application flow control in YouTube video streams , 2011, CCRV.

[20]  David A. Patterson,et al.  Rain: A Workload Generation Toolkit for Cloud Computing Applications , 2010 .

[21]  Amin Vahdat,et al.  MediSyn: a synthetic streaming media service workload generator , 2003, NOSSDAV '03.

[22]  Tim Brecht,et al.  accept()able Strategies for Improving Web Server Performance , 2004, USENIX ATC, General Track.

[23]  David R. Cheriton,et al.  Comparing the performance of web server architectures , 2007, EuroSys '07.

[24]  Luigi Rizzo,et al.  Dummynet: a simple approach to the evaluation of network protocols , 1997, CCRV.

[25]  Vyas Sekar,et al.  Understanding the impact of video quality on user engagement , 2011, SIGCOMM.

[26]  Abdolreza Abhari,et al.  Workload generation for YouTube , 2009, Multimedia Tools and Applications.

[27]  Ali C. Begen,et al.  Watching Video over the Web: Part 1: Streaming Protocols , 2011, IEEE Internet Computing.

[28]  Azer Bestavros,et al.  GISMO: a Generator of Internet Streaming Media Objects and workloads , 2001, PERV.

[29]  Ben Y. Zhao,et al.  Understanding user behavior in large-scale video-on-demand systems , 2006, EuroSys.