Professional Documents
Culture Documents
2000
1500
1000
500
Frequency
0
1
10
Mean is 5.3! Latency of an operation (microseconds)
Workload Characterization Technique
2048
4096
8192
Workload Characterization Technique
Full List of Histograms
2048
4095
4096
8191
8192
16383
16384
32768
Test Setup
Total Memory 8 GB
3000
2500
2000
Frequency
1500
UFS 1000
500
0
512
1024
2048
4095
4096
8191
8192
16383
16384
32768
49152
65535
65536
81920
131072
262144
524288
>524288
4K and 8K I/O
transformed Length (bytes)
1000
800
ZFS 600
400
200
0
512
1024
2048
4095
4096
8191
8192
16383
16384
32768
49152
65535
65536
81920
131072
262144
524288
>524288
Length (bytes)
Seek Distance 1400
Seek Distance Histogram
Frequency
800
measure of 600
versus 200
0
randomness in a
-500000
-50000
-5000
-500
-64
-16
-6
-2
0
2
6
16
64
500
5000
50000
500000
workload
Distance (sectors)
Somehow a
Seek Distance Histogram
random workload 300
is transformed 250
needed ... 50
0
-500000
-50000
-5000
-500
-64
-16
-6
-2
0
2
6
16
64
500
5000
50000
500000
Distance (sectors)
Seek Distance
Filebench OLTP—More Detailed Split out reads & writes
1000 500
800
Frequency
400
Frequency
600
300
400
UFS 200
200
100
0
-500000
-50000
-5000
-500
-64
-16
-6
-2
0
2
6
16
64
500
5000
50000
500000
0
-500000
-50000
-5000
-500
-64
-16
-6
-2
16
64
500
5000
50000
500000
Distance (sectors) Distance (sectors)
250 250
200 200
Frequency
Frequency
150 150
ZFS 100 100
50 50
0 0
-500000
-50000
-5000
-500
-64
-16
-6
-2
0
2
16
64
500
5000
50000
500000
-500000
-50000
-5000
-500
-64
-16
-6
-2
6
16
64
500
5000
50000
500000
Distance (sectors) Distance (sectors)
OSDL DBT-2:
A fair usage implementation of the TPC-C benchmark specification
Simulates a wholesale parts supplier
Several workers access a database, update customer information
and check on parts inventories
More info on DBT-2 @
More info on TPC-C @ http://www.tpc.org/tpcc
Used the PostgreSQL 8.1 RDBMS implementation of DBT-2
http://www.postgresql.org/docs/techdocs
Ubuntu 6.10 server distribution
Linux 2.6.17-10
Scaling factor of 250 (warehouses) with 50 connections
OSDL Database Test 2 (Linux 2.6.17-10)
Analysis
Seek Distance Histogram (Writes)
300
Frequency
the right and left edges of 150
100
the graph) 50
-500000
-50000
-5000
-500
-64
-16
-6
-2
16
64
500
5000
50000
500000
within 500 sectors (20%) or Distance (sectors)
Frequency
1000
The workload is almost 800
600
Frequency
600
and writes 0
12
16
20
24
28
32
64
> 64
I/Os Outstanding at Arrival time
PostgreSQL almost always
1200
1000-1200
simultaneously 800-1000
600-800
1000
400-600 800
200
S16
S11
Time (in 6
S6 0
sec
> 64
32
24
intervals) S1
16
8
4
1
I/Os Outstanding
at Arrival time
OSDL Database Test 2 (Linux 2.6.17-10)
Summary
Frequency
500
400
300
10
100
500
1000
5000
15000
30000
50000
100000
>100000
Latency (microseconds)
1400
Frequency
1200
Latency is higher 1000
800
600
400
Number of commands is lower 200
0
512
1024
2048
4095
4096
8191
8192
16383
16384
32768
49152
65535
65536
81920
131072
262144
524288
>524288
I/Os are very sequential Length (bytes)
Frequency
1000
an example 800
600
-50000
-5000
-500
-64
-16
-6
-2
16
64
500
5000
50000
500000
Distance (bytes)
Performance Overhead of Stats Collection
When to use
When deploying a new disk performance sensitive workload
When optimizing an existing disk performance critical production VM
Which metrics to start with
Most important metrics to discuss with SAN Admin:
I/O Size
Read/Write Ratios
Outstanding I/Os
How to interpret
Pay attention to changes in distribution shape as well as magnitude
Corrective actions
Tune disk subsystem and remeasure; pay attention to latency histogram
Limitation: Histograms Are Per Virtual Disk
Frequency
400
Two workloads: 300
200
Windows XP filecopy 100
0
Windows 2003 Iometer
10
100
500
1000
5000
15000
30000
50000
100000
100000
512K Random Writes
with 64 Outstanding IOs
Latency (microseconds)
Run Together,
Windows filecopy I/O Latency Histogram (Reads) Filecopy Solo
experienced a Filecopy (Iometer Interference)
800
slowdown 700
600
See the histogram shift to
Frequency
500
the right indicating 400
300
increasing disk I/O 200
latencies. 100
0
1
10
100
500
1000
5000
15000
30000
50000
100000
100000
Latency (microseconds)
Potential Future Work
If Enough Interest Exists