Dynamic Content Is Common

32
1 Specification and Implementation of Dynamic Web Site Benchmarks Sameh Elnikety Department of Computer Science Rice University

description

Specification and Implementation of Dynamic Web Site Benchmarks Sameh Elnikety Department of Computer Science Rice University. Dynamic Content Is Common. 1. 2. 3. Generating Dynamic Content. Web Server. Dynamic Content Generator. Database Server. http. DynaServer Project. - PowerPoint PPT Presentation

Transcript of Dynamic Content Is Common

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/