Download - Dynamic Content Is Common

Transcript
Page 1: Dynamic Content Is Common

1

Specification and Implementation of Dynamic Web Site Benchmarks

Sameh ElniketyDepartment of Computer Science

Rice University

Page 2: Dynamic Content Is Common

2

Dynamic Content Is Common

1

3

2

Page 3: Dynamic Content Is Common

3

Generating Dynamic Content

http DatabaseServer

WebServer

DynamicContent

Generator

Page 4: Dynamic Content Is Common

4

DynaServer Project

• Scale Performance of Dynamic Content Sites

– Caching

– Clustering

– Replication

– Dynamic content delivery networks

Page 5: Dynamic Content Is Common

5

Motivation

• We Need Workloads to Evaluate Different

Architectures

• No Workloads for Dynamic Content

Page 6: Dynamic Content Is Common

6

Benchmarks

• Online Bookstore– Models amazon.com

• Auction Site– Models ebay.com

• Bulletin Board– Models slashdot.org

Common Applications

Stress Different Parts of the System

Page 7: Dynamic Content Is Common

7

Contributions

• Online Bookstore– Followed TPC-W specification

– Wrote implementation

• Auction Site– Developed specification & implementation

• Bulletin Board– Developed specification & implementation

Page 8: Dynamic Content Is Common

8

Outline• Benchmarks

– Online Bookstore

– Auction Site

– Bulletin Board

• Bottleneck Characterization

– Experimental Setup

– Measurement

– Performance Results

Page 9: Dynamic Content Is Common

9

Online Bookstore Benchmark• Models amazon.com• Follows TPC-W (TPC Feb 2000)

• Activities– Browsing, buying, administrative updates

• Persistent Data– Images in Web server file system– All others in database

Page 10: Dynamic Content Is Common

10

Online Bookstore Benchmark

Promotion

Shopping Cart

Next Interaction

Image

Page 11: Dynamic Content Is Common

11

Online Bookstore Benchmark• 14 Interactions (as specified in TPC-W), e.g.

– Home– Best sellers– Secure payment– Shopping cart

• Workload Mixes (as specified in TPC-W)– Browsing (95% read-only)– Shopping (80% read-only)– Ordering (50% read-only)

Page 12: Dynamic Content Is Common

12

Auction Site Benchmark• Models Ebay.com

• Activities– Browsing, selling, bidding

• User Sessions– Visitor, seller, buyer

• Persistent Data– Images in Web server file system– All others in database

Page 13: Dynamic Content Is Common

13

Auction Site Benchmark• 26 interactions

– Browsing by category– Bidding– Buying– Selling– Leaving comments– User page

• Workload Mixes– Browsing (100% read-only)– Bidding (85% read-only)

Page 14: Dynamic Content Is Common

14

Bulletin Board Benchmark• Models Slashdot.org

• Activities– Discussion thread (story & comments)

– Ratings

• User sessions– Visitor, moderator

• Persistent Data– Images in Web server file system

– All others in database

Page 15: Dynamic Content Is Common

15

Bulletin Board Benchmark• 24 interactions

– Browsing by category– Submit new story– Search story titles– Display story & filter comments

• No Full Text Search

• Workload Mixes– Browsing (100% read-only)– Submission (85% read-only)

Page 16: Dynamic Content Is Common

16

Bottleneck Characterization

• Experimental Setup

• Measurement

• Performance Results

Page 17: Dynamic Content Is Common

17

Software

http ApachePHP

MySQLsql

http DatabaseServer

WebServer

DynamicContent

Generator

Page 18: Dynamic Content Is Common

18

Hardware

CPU AMD Athlon 1.33GHz

Memory 768MB

Disk 60GB, 9msec, 5400rpm

Network 100Mbps Ethernet

http ApachePHP

MySQLsql

Page 19: Dynamic Content Is Common

19

Performance Metric• Throughput

– Number of interactions per minute

Page 20: Dynamic Content Is Common

20

Resources Monitored

• Web Server

• Database

• CPU

• Memory

• Disk

• Network

Page 21: Dynamic Content Is Common

21

http ApachePHP

MySQLsql

Emulated Clients

EmulatedClients

• Java Emulator– Session duration

– Think time

– Markov model

Page 22: Dynamic Content Is Common

22

Measurement

• Driving the System– Several clients

– Ramp-up time

– Steady-state measurement

Page 23: Dynamic Content Is Common

23

Online Bookstore Benchmark Throughput

Page 24: Dynamic Content Is Common

24

Bookstore CPU Utilization (Shopping Mix)

Page 25: Dynamic Content Is Common

25

Bookstore Resources (Shopping Mix)

Resource Web Server Database

CPU 30% 71%

Memory 200 MB 390 MB

Disk <20 block/s <20 block/s

Network 3.2 + 0.6 Mb/s 0.6 Mb/s

Conclusion Database CPU is the bottleneck

Page 26: Dynamic Content Is Common

26

Auction Site Benchmark Throughput

Page 27: Dynamic Content Is Common

27

Auction CPU Utilization (Bidding Mix)

Page 28: Dynamic Content Is Common

28

Auction Resources (Bidding Mix)

Resource Web Server Database

CPU 100% 58%

Memory 70 MB 250 MB

Disk <20 block/s <20 block/s

Network 55 + 2 Mb/s 2 Mb/s

Conclusion Web Server CPU is the bottleneck

Page 29: Dynamic Content Is Common

29

Bottlenecks• Online Bookstore

– Models amazon.com

• Bidding– Models ebay.com

• Bulletin Boards– Models slashdot.org

– CPU of Database

– CPU of Web Server

– CPU of Web Server

Page 30: Dynamic Content Is Common

30

Conclusions• 3 Benchmarks

– Online bookstore, auction site, bulletin board

– Open-source software

– Available implementations (PHP, Servlets, EJB)

• Capacity Planning

• Research on Dynamic Content

Page 31: Dynamic Content Is Common

31

Collaborators

Cristiana Amza, Anupam Chanda, Alan Cox, Romer Gil, Willy Zwaenepoel

Department of Computer Science - Rice University

Emmanuel Cecchet, Julie Marguerite

INRIA Rhône - Alpes

Karthick Rajamani IBM Austin Research Lab

Page 32: Dynamic Content Is Common

32

Download the Benchmarks Benchmark Implementations in

– PHP

– Servlets

– EJB

http://www.cs.rice.edu/CS/Systems/DynaServer/