Performance measuring Who? Alexandru Giurgiu (alex.giurgiu@os3.nl) - - PowerPoint PPT Presentation
Performance measuring Who? Alexandru Giurgiu (alex.giurgiu@os3.nl) - - PowerPoint PPT Presentation
Performance measuring Who? Alexandru Giurgiu (alex.giurgiu@os3.nl) Jeroen Vanderauwera (jeroen.vanderauwera@os3.nl) From? System and Network Engineering - UvA When? June 22, 2010 1/21 Table of contents Introduction 1 Test setup 2
Table of contents
1
Introduction
2
Test setup
3
Layered and hardware view
4
Identified parameters and tests
5
The measurement tool
6
Conclusions
2/21
Introduction
Why?
Performance monitoring is more an art than a science. We like art! Pinpointing bottlenecks is hard and not very straightforward. Different tools for different purposes, all reporting in their own format.
3/21
Introduction
Research questions: Is it possible to determine and classify the parameters which affect network performance on the end hosts? Is it possible to develop a tool which monitors the parameters and can pinpoint the cause of the reduced network performance?
4/21
Introduction
How?
1
Identify and analyze the different hardware and software parameters that influence network performance.
2
Create an application:
integrate information from other tools. display it in a clear report that helps pinpointing the problem.
5/21
Test environment
6/21
Layered and hardware view
7/21
Identified parameters
Hardware
CPU Memory Network interface PCIe bus and slots
Software
MTU (Ethernet and IP) TCP window size Maximum TCP buffer space UDP buffer size (per socket and overall) Flow control TCP Selective Acknowledgements Option
8/21
CPU: influence on TCP (sending side)
10 20 30 40 50 60 70 80 90 100 1000 2000 3000 4000 5000 6000 7000 8000 9000 10.000
Time (sec) Network Performance (Mbits/s) 100% CPU load 10% CPU load 20% CPU load 50% CPU load 70% CPU load 90% CPU load
9/21
CPU: receiving side
10% 20% 50% 70% 90% 100% 1000 2000 3000 4000 5000 6000 7000 8000 9000 10.000
CPU load Network Performance (Mbits/s) UDP TCP UDP TCP UDP TCP UDP TCP UDP TCP UDP TCP Actual performance Theoretical performance without packet loss
10/21
Memory and swapping
10 20 30 40 50 60 1000 2000 3000 4000 5000 6000 7000 8000 9000 10.000
Time (sec) Network Performance (Mbits/s) UDP, memory swapping (tx) TCP, memory swapping (tx) TCP, memory swapping (rx) UDP, memory swapping (rx) 2.5% packet loss Transmitting Receiving
11/21
Network interface and bus speed
Obviously throughput cannot exceed the the maximum speed support by the NIC. The PCI slot can be a limiting factor (PCIe 2.0 x4 slot
- r PCIe 1.0 x8 slot required for 10 Gb/s)
4 lanes 8 lanes 16 lanes PCIe 1.0 8 Gb/s 16 Gb/s 32 Gb/s PCIe 2.0 16 Gb/s 32 Gb/s 64 Gb/s PCIe 3.0 31.5 Gb/s 63 Gb/s 126 Gb/s
12/21
MTU: UDP performance
1.5k 3k 6k 8k 9k 30k 63k 10.000 1000 2000 3000 4000 5000 6000 7000 8000 9000
IP MTU Network Performance (Mbits/s)
9k 9k 1.5k 1.5k 1.5k 1.5k 1.5k 1.5k 1.5k 9k 9k 9k 9k 9k 6k 6k 6k 6k 6k 6k 6k
rx performance tx performance (packet loss)
13/21
MTU: TCP performance
1.5k 3k 6k 8k 9k 30k 63k 10.000 1000 2000 3000 4000 5000 6000 7000 8000 9000
IP MTU Network Performance (Mbits/s)
6k 6k 1.5k 1.5k 1.5k 1.5k 1.5k 1.5k 1.5k 6k 6k 6k 6k 6k 9k 9k 9k 9k 9k 9k 9k
tx/rx performance