  Despite the growing popularity of video streaming over the Internet, problems
such as re-buffering and high startup latency continue to plague users. In this
paper, we present an end-to-end characterization of Yahoo's video streaming
service, analyzing over 500 million video chunks downloaded over a two-week
period. We gain unique visibility into the causes of performance degradation by
instrumenting both the CDN server and the client player at the chunk level,
while also collecting frequent snapshots of TCP variables from the server
network stack. We uncover a range of performance issues, including an
asynchronous disk-read timer and cache misses at the server, high latency and
latency variability in the network, and buffering delays and dropped frames at
the client. Looking across chunks in the same session, or destined to the same
IP prefix, we see how some performance problems are relatively persistent,
depending on the video's popularity, the distance between the client and
server, and the client's operating system, browser, and Flash runtime.
