servload: Generating Representative Workloads for Web Server - - PowerPoint PPT Presentation

servload generating representative workloads for web
SMART_READER_LITE
LIVE PREVIEW

servload: Generating Representative Workloads for Web Server - - PowerPoint PPT Presentation

servload: Generating Representative Workloads for Web Server Benchmarking Jrg Zinke, Jan Habenschu and Bettina Schnor Potsdam University Institute of Computer Science Operating Systems and Distributed Systems SPECT@SummerSim 2012 , 9. July


slide-1
SLIDE 1

servload: Generating Representative Workloads for Web Server Benchmarking

Jörg Zinke, Jan Habenschuß and Bettina Schnor

Potsdam University Institute of Computer Science Operating Systems and Distributed Systems

SPECT@SummerSim 2012 , 9. July 2012

slide-2
SLIDE 2

Motivation

Server Load Balancing

Bettina Schnor (Potsdam University) servload Frame 2 of 26

slide-3
SLIDE 3

Motivation

OpenBSD PF Development

OpenBSD Packet Filter (PF) for Server Load Balancing implementation of Weighted Round Robin (WRR) and Least States (LS) part of OpenBSD 5.0 released on

  • 01. November 2011

match in on bge0 proto tcp from any to any port 80 \ rdr-to {www1, www2, www3} least-states [PhD candidate Jörg Zinke, master student Fabian Hahn]

Bettina Schnor (Potsdam University) servload Frame 3 of 26

slide-4
SLIDE 4

Motivation

Credit Based Server Load Balancing

using InfiniBand Network RDMA feature

Bettina Schnor (Potsdam University) servload Frame 4 of 26

slide-5
SLIDE 5

Related Work

Table of Contents

1

Related Work

2

Features

3

Workload Generation

4

Evaluation

5

Implementation

6

Summary and Future Work

Bettina Schnor (Potsdam University) servload Frame 5 of 26

slide-6
SLIDE 6

Related Work

Related Work

Existing benchmarks: httperf: has support for loading requests from a session file. But: has a limit of 1000 sessions and can not replay these exactly. Problems can be solved ... just a matter of implementation and tuning effort ;-) Tsung: The drawback is that the result metrics are aggregated to an unsuited mean value from a 10 second sampled spot. Interesting metrics like the number of requests which exceeded a threshold response time are not available. SPECweb2009: neither support for load balancing cluster nor replay ... Workload generation: Lots of theoretical work done starting in the 90s. no tools available (?)

Bettina Schnor (Potsdam University) servload Frame 6 of 26

slide-7
SLIDE 7

Features

Table of Contents

1

Related Work

2

Features

3

Workload Generation

4

Evaluation

5

Implementation

6

Summary and Future Work

Bettina Schnor (Potsdam University) servload Frame 7 of 26

slide-8
SLIDE 8

Features

Features

1 web server benchmarking =

⇒ Replaying workloads

2 generate higher loads and determine capability limits of the web server

and/or proof Service Level Agreements (SLAs) (scalability tests) =

Workload generation Real Workload A real workload is defined as a sequence of requests which was received from a real world production web server. Representative Workload A representative workload is defined as a (generated) workload which has the same characteristics like a given real workload.

Bettina Schnor (Potsdam University) servload Frame 8 of 26

slide-9
SLIDE 9

Workload Generation

Table of Contents

1

Related Work

2

Features

3

Workload Generation

4

Evaluation

5

Implementation

6

Summary and Future Work

Bettina Schnor (Potsdam University) servload Frame 9 of 26

slide-10
SLIDE 10

Workload Generation

Workload Generation

given: web server log trace idea: add representative sessions needs no knowledge about probability of successor pages or other a priori knowledge servload supports different methods:

1 multiply 2 peak 3 score: The score method identifies sessions and rates them.

Bettina Schnor (Potsdam University) servload Frame 10 of 26

slide-11
SLIDE 11

Workload Generation

Combined Log Format

127.0.0.1 - sven [22/Oct/2011:16:35:46 -0200] "GET /test.png HTTP/1.0" 200 232 "http://example.com/index.html" "Mozilla/5.0 (Windows NT 6.0;)"

remote host e.g. IP address of the client RFC 1413 identity check of the client (rarely enabled) remote user (rarely enabled) timestamp when the server finished processing the request request HTTP response status size of the response in bytes referrer corresponds to the predecessor page user agent Identifying User Sessions: the following fields are considered in this prioritized

  • rder: remote user, remote host and user agent, or remote host only.

Bettina Schnor (Potsdam University) servload Frame 11 of 26

slide-12
SLIDE 12

Workload Generation

Metrics for Identifying User Behavior: number of requests in a session session length in seconds think time (in seconds) within session body sizes of requests within session

Bettina Schnor (Potsdam University) servload Frame 12 of 26

slide-13
SLIDE 13

Workload Generation

The score method identifies sessions and rates them: Each session metric is compared to the median of the same metric calculated from all sessions. The nearer the current session metric value is to the overall median the higher is the rating of the session. Higher rated sessions are added to the given trace with randomly chosen start times in the destination time frame.

Bettina Schnor (Potsdam University) servload Frame 13 of 26

slide-14
SLIDE 14

Evaluation

Table of Contents

1

Related Work

2

Features

3

Workload Generation

4

Evaluation

5

Implementation

6

Summary and Future Work

Bettina Schnor (Potsdam University) servload Frame 14 of 26

slide-15
SLIDE 15

Evaluation

Evaluation: score method

Internet Service Provider (ISP) testbed web client running servload located in Europe/Berlin a web server cluster located in South Korea 30 min web server log from ISP with 5684 sessions Problem: no dedicated network score method: added 2972 sessions

Bettina Schnor (Potsdam University) servload Frame 15 of 26

slide-16
SLIDE 16

Evaluation

Evaluation: score method

ISP testbed web client running servload located in Europe/Berlin a web server cluster located in South Korea 30 min web server log from ISP with 5684 sessions Problem: no dedicated network score method: added 2972 sessions

Bettina Schnor (Potsdam University) servload Frame 15 of 26

slide-17
SLIDE 17

Evaluation

Metric Original Modified Requests 102081 153118 Sessions 5684 8656 Number of Request Median 11 13 Average 17.96 17.69 Standard deviation 21.57 18.88 Median Think-Time (s) Median 3 2.5 Average 514 321 Standard deviation 3431 2718 Length (s) Median 90 96 Average 2578 1776 Standard deviation 11536 9500

Bettina Schnor (Potsdam University) servload Frame 16 of 26

slide-18
SLIDE 18

Evaluation

Metric Original Modified Requests 102081 153118 Sessions 5684 8656 Median Bytes Median 1275 1319 Average 2205 2009 Standard deviation 3277 2740 Standard deviation and averages always decrease as expected (outliers get bad score). Medians are comparable.

Bettina Schnor (Potsdam University) servload Frame 17 of 26

slide-19
SLIDE 19

Evaluation

Evaluation: Replay Capabilities of servload

Metric Original Replay Requests 10024 10024 Sessions 118 118 Length (s) 1800 1809 Requests per second Median 5 5 Average 5.57 5.54 Standard deviation 4.37 2.62 Median Think-Time (s) Median 1 Average 39 39 Standard deviation 172 172

Bettina Schnor (Potsdam University) servload Frame 18 of 26

slide-20
SLIDE 20

Evaluation

Evaluation: Replay

Metric Original Replay Requests 10024 10024 Sessions 118 118 Length (s) 1800 1809 Length (s) Median 166.5 168 Average 414.85 416.86 Standard deviation 526.36 526.06 Median Bytes Minimum 287 288 Maximum 12394 12395 Median 1245 1314 Average 2024 2037 Standard deviation 1921 1893

Bettina Schnor (Potsdam University) servload Frame 19 of 26

slide-21
SLIDE 21

Implementation

Table of Contents

1

Related Work

2

Features

3

Workload Generation

4

Evaluation

5

Implementation

6

Summary and Future Work

Bettina Schnor (Potsdam University) servload Frame 20 of 26

slide-22
SLIDE 22

Implementation

servload Implementation

Back to the central approach and efficient UNIX system calls: First approach: combination of Lua and C Experiences with a Wikipedia dump of 1 of the 10 proxy-caches of the Wikimedia Foundation, consisting of 25.6 Billions of HTTP-requests ANSI C code (tested on Linux and OpenBSD) servload binary parses given logfile, applies score method (optional) and does the replay based on poll() with a single process and no threads

Bettina Schnor (Potsdam University) servload Frame 21 of 26

slide-23
SLIDE 23

Implementation

servload Implementation

Back to the central approach and efficient UNIX system calls: First approach: combination of Lua and C Experiences with a Wikipedia dump of 1 of the 10 proxy-caches of the Wikimedia Foundation, consisting of 25.6 Billions of HTTP-requests ANSI C code (tested on Linux and OpenBSD) servload binary parses given logfile, applies score method (optional) and does the replay based on poll() with a single process and no threads

Bettina Schnor (Potsdam University) servload Frame 21 of 26

slide-24
SLIDE 24

Implementation

Evaluation: Scalability of servload

servload was extended to support also UDP traffic to evaluate for example DNS server (Master Thesis of Sebastian Menski) servload on a single node, Intel Xeon E5520, 2.27 GHz with 12GB RAM 3 heterogenous (AMD Opteron, Intel Pentium and Intel Xeon) Bind backend servers LVS as Load Balancer with WRR UDP Receive Queue increased to 24MB 5 minute original log generating higher workload using the multiply method with factor 400, 800 and 1600

→ millions of request

Bettina Schnor (Potsdam University) servload Frame 22 of 26

slide-25
SLIDE 25

Implementation

Factor Requests Sessions avg Req/s max Req/s 1 22 594 33 75 204 400 9 037 600 13200 30125 81600 800 18 075 200 26400 60250 163200 1600 36 150 400 52800 120 501 326 400

Bettina Schnor (Potsdam University) servload Frame 23 of 26

slide-26
SLIDE 26

Implementation

servload Output parameters

500 1000 1500 2000 2500 3000 400 800 1600 Timeouts# Faktor Timeouts 400... 9.037.600 requests 800... 18.075.200 requests 1600... 36.150.400 requests wrr 0.5 1 1.5 2 2.5 3 3.5 4 4.5 400 800 1600 Millisekunden Faktor Median First Response Time 0.1 0.2 0.3 0.4 0.5 0.6 0.7 400 800 1600 Millisekunden Faktor Median Connect Time

Bettina Schnor (Potsdam University) servload Frame 24 of 26

slide-27
SLIDE 27

Summary and Future Work

Table of Contents

1

Related Work

2

Features

3

Workload Generation

4

Evaluation

5

Implementation

6

Summary and Future Work

Bettina Schnor (Potsdam University) servload Frame 25 of 26

slide-28
SLIDE 28

Summary and Future Work

Summary and Future Work

replay benchmark in only ~2000 lines of ANSI C code support for HTTP and DNS services works also with server load balancer representative workload generation: score method adds complete user sessions scales with millions of requests current work: support for DNS Security Extensions (DNSSEC)

→ Open-Source under BSD license available from:

www.salbnet.org

Bettina Schnor (Potsdam University) servload Frame 26 of 26