Slides

Web Polygraph

Polyteam members have given a few presentations on Polygraph and proxy benchmarking in general. We've been asked for a copy of our slides. Below is an HTML compilation of our most comprehensive slide set. The slides are based on version 1.x of Web Polygraph.

Please let us know if our semi-automated compilation screwed something up.



Benchmarking Proxy Caches
with Web Polygraph

Polyteam

March 1999

1. Motivation

Customer
Developer
Marketing

2. Available Benchmarks


2.1 CacheFlow performance testing tool


2.2 Inktomi large scale benchmark


2.3 NetCache Load Generator


2.4 Wisconsin Proxy Benchmark


2.5 HTTP Blaster


2.6 Web Polygraph


3. Benchmarking Methodology


3.1 Performance vs. Features

Pro-performance
Pro-features

3.2 Micro vs. Macro

Pro-micro
Pro-macro

3.3 Synthetic vs. Real

Pro-synthetic
Pro-real

3.4 White vs. Gray vs. Black


4. Benchmarking strategy


4.1 The Plan

  1. No-proxy: Testing your test suite
  2. Null-proxy: Trying proxy's shoes on
  3. Miss-only workload, empty cache
  4. Filling the cache
  5. Miss-only workload, full cache
  6. Hit-only workload
  7. Hit-and-miss workload
  8. Bursty traffic

4.2 (0) No-nothing


4.3 (1) No-proxy

$ polysrv --goal $BigGoal --port $OriginPort
$ polyclt --ports 1024:30000 --proxy $Origin --origin $Origin \
	--robots $cl --goal $BigGoal

4.4 (2) Null-proxy

$ polysrv --goal $BigGoal --port $OriginPort
$ tunnel  $ProxyPort $Origin
$ polyclt --ports 1024:30000 --proxy $Proxy --origin $Origin \
	--robots $cl --goal $BigGoal

4.5 (3) Miss-only (empty cache)

# to get cachable miss-only workload, use ``--rep_cachable yes''
$ polysrv --goal $Goal --port $OriginPort
$ polyclt --ports 1024:30000 --proxy $Proxy --origin $Origin \
	--unique_urls 1 --robots $cl --goal $Goal

4.6 (4) Filling the cache

$ polysrv --goal $HugeGoal --port $OriginPort
$ polyclt --ports 1024:30000 --proxy $Proxy --origin $Origin \
	--rep_cachable 100p \
	--unique_urls 1 --robots $cl --goal $HugeGoal

4.7 (5) Miss-only (full cache)

$ polysrv --goal $Goal --port $OriginPort
$ polyclt --ports 1024:30000 --proxy $Proxy --origin $Origin \ 
	--unique_urls 1 --robots $cl --goal $Goal
# to get cachable workload, use ``--rep_cachable yes''

4.8 (6) Hit-only

$ polysrv --goal $Goal --port $OriginPort
$ polyclt --order $pass --world_id hit-only.full.$cl \
	--proxy $Proxy --origin $Origin --ports 1024:30000 \
	--rep_cachable 100p
	--unique_urls 1 --robots $cl --goal $Goal

4.9 (7) Hit-and-miss

$ polysrv --xact_think norm:3sec,1.5sec \
	--goal $Goal --port $OriginPort
$ polyclt --proxy $Proxy --origin $Origin --ports 1024:30000 \
	--rep_cachable 80p
	--dhr $hr --robots $cl --goal $Goal

4.10 (8) Bursty traffic

$ polysrv ... --goal $Goal --port $OriginPort
$ polyclt ... --req_rate $rate --robots 1 --goal $Goal

5. TODO

Developed areas

Premature?


6. Results Presentation


6.1 Detailed report

  1. Response time versus throughput
  2. Throughput versus load
  3. Response time versus load
  4. Hit ratios (if any) versus load
  5. Total number of errors (if any) versus load
  6. Relative variation of trace data versus load
  7. For each run: raw traces (measurement vs. time) for measurements (1) -- (3) above

6.2 Executive Summary


7. Gotchas

Environmental issues
Experiment start
Experiment duration
Runs interdependencies
Cachability issues
Statistics collection
Resource limits
Other
Vendors ``tricks''

8. System Level Tuning


9. Conclusions



$Id: index.sml,v 1.2 1999/09/16 17:37:27 rousskov Exp $