SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
BayLISA, Oct 2013
Systems Performance
• Analysis of apps to metal. Think LAMP not AMP.
• An activity for everyone: from casual to full time.
Operating System
• The basis is
the system

Applications

• The target is

System Libraries
System Call Interface

everything
can cause
performance
problems

Kernel

• All software

VFS

Sockets

File Systems

TCP/UDP

Volume Managers

IP

Block Device Interface

Ethernet

Device Drivers
Resource Controls
Firmware
Metal

Scheduler
Virtual
Memory
Systems Performance: Enterprise and the Cloud
• Brendan Gregg (and many others); Prentice Hall, 2013
• 635 pages of chapters, plus appendices, etc
• Background, methodologies, examples
• Examples from:
• Linux (Ubuntu, Fedora, CentOS)
• illumos (SmartOS, OmniOS)
• Audience:
• Sysadmins, developers, everyone
• Enterprise and cloud environments
The Author: Brendan Gregg
• Currently at Joyent, previously Brendan@Sun, then Oracle
• Lead Performance Engineer: debugs perf on SmartOS/Linux/
Windows daily, small to large cloud environments, any layer of
the software stack, down to firmware and metal. Previously a
kernel engineer, performance consultant, trainer.

• Written hundreds of published perf tools (too many), including
the original iosnoop, iotop, execsnoop, nicstat, psio, etc.

• Created visualizations: heat maps for various uses, flame
graphs, frequency trails, cloud process graphs

• Developed methodologies: USE method, TSA method
• Co-authored books: DTrace, Solaris Performance and Tools
Goals
• Modern systems performance: including cloud computing,
dynamic tracing, visualizations, open source

• Accessible to a wide audience
• Help you maximize system and application performance
• Quickly diagnose performance issues: eg, outilers
• Turn unknown unknowns into known unknowns – actionable
• 10+ year shelf life: document concepts and methodology first,
with tools and tunables of the day as examples of application
Personal Motivation
• The need for a good reference for:
• Internal Joyent staff
• External customers
• IT at large
• As a reference for classes
• I’ve been teaching professional classes in system

administration and performance on and off since 2001

• I’ve learned a lot from teaching students to solve real

performance problems, to see what works, what doesn’t

• I’ve been using this book already for teaching the Joyent
cloud performance class: http://joyent.com/training,
next class Nov 18th 2013
Table of Contents
• 1. Intro
• 2. Methodology
• 3. Operating Systems
• 4. Observability Tools
• 5. Applications
• 6. CPUs
• 7. Memory
• 8. File Systems
• 9. Disks
• 10. Network
• 11. Cloud Computing
• 12. Benchmarking
• 13. Case Study

• Apx.A. USE Linux
• Apx.B. USE Solaris
• Apx.C. sar Summary
• Apx.D. DTrace one-liners
• Apx.E. DTrace to SystemTap
• Apx.F. Solutions to Selected Ex.
• Apx.G. Who's Who
• Glossary
• Index
Highlights:
• Chapter 2 Methodologies:
• Many documented for the first time; some created by me
• Chapter 3 Operating Systems:
• 30 page summary of OS internals
• Chapter 6-10: CPUs, Memory, FS, Disks, Network
• Background, methodology, tools
• Chapter 11: Cloud Computing
• Different technologies and their performance
• Chapter 12: Benchmarking
• For the good of the industry. Please, everyone, read this.
Chapter 2 Methodologies
• Documenting the black art
of systems performance

• Also summarizes concepts,
statistics, visualizations
Chapter 3 Operating Systems
• The OS crash course you missed at University
Chapter 6-10 Structure
• Background
• Just enough OS and HW internals
• Methodologies
• For beginners, casual users, experts
• How to start, and steps to proceed
• Example Application
• Linux, illumos
• Tools, screenshots, case studies
• Some tunables of the day
Chapter 6-10 Structure
• Background
• Just enough OS and HW internals

Generic

• Methodologies
• For beginners, casual users, experts
• How to start, and steps to proceed
• Example Application
• Linux, illumos
• Tools, screenshots, case studies
• Some tunables of the day

Specific
Example: Chapter 6 CPUs
Hardware

Software
Chapter 11 Cloud Computing
• OS Virtualization
• HW Virtualization
• Observability
• Performance
• Resource controls
Modern Systems Performance
• Comparing 1990’s to 2010’s
1990’s Systems Performance
* Proprietary Unix, closed source, static tools
$ vmstat 1
kthr
memory
r b w
swap free re
0 0 0 8475356 565176 2
1 0 0 7983772 119164 0
0 0 0 8046208 181600 0
[...]

*
*
*
*
*

mf
8
0
0

page
disk
faults
cpu
pi po fr de sr cd cd s0 s5
in
sy
cs us sy id
0 0 0 0 1 0 0 -0 13 378 101 142 0 0 99
0 0 0 0 0 224 0 0 0 1175 5654 1196 1 15 84
0 0 0 0 0 322 0 0 0 1473 6931 1360 1 7 92

Limited metrics and documentation
Some perf issues could not be solved
Analysis methodology constrained by tools
Perf experts used inference and experimentation
Literature is still around
2010’s Systems Performance
• Open source (the norm)
• Ultimate documentation
• Dynamic tracing
• Observe everything
• Visualizations
• Comprehend many metrics
• Cloud computing
• Resource controls can be the bottleneck!
• Methodologies
• Where to begin, and steps to root cause
1990’s Performance Visualizations
Text-based and line graphs
$ iostat -x 1
device
sd0
sd5
sd12
sd12
sd13
sd14
sd15
sd16
nfs6
[...]

r/s
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0

extended device statistics
w/s
kr/s
kw/s wait actv
0.1
5.2
3.9 0.0 0.0
0.0
0.0
0.0 0.0 0.0
0.2
0.2
1.1 0.0 0.0
0.0
0.0
0.0 0.0 0.0
0.0
0.0
0.0 0.0 0.0
0.0
0.0
0.0 0.0 0.0
0.0
0.0
0.0 0.0 0.0
0.0
0.0
0.0 0.0 0.0
0.0
0.0
0.0 0.0 0.0

svc_t
69.8
1.1
3.1
0.0
0.0
1.9
0.0
0.0
0.0

%w
0
0
0
0
0
0
0
0
0

%b
0
0
0
0
0
0
0
0
0
2010’s Performance Visualizations
• Utilization and latency heat maps, flame graphs
Modern Performance Analysis Tools
• Traditional tools
• Plus dynamic tracing to fill in gaps
Performance Analysis Tools: Linux
strace

Operating System

netstat

Hardware

perf

Applications
DBs, all server types, ...

pidstat

mpstat

System Libraries

perf
dtrace
stap
lttng
ktap

CPU
Interconnect

System Call Interface
VFS

Sockets

File Systems

TCP/UDP

Volume Managers

IP

Block Device Interface

Ethernet

Scheduler

top ps
pidstat

Virtual
Memory

vmstat
slabtop
free

Device Drivers

iostat
iotop
blktrace

perf
Expander Interconnect

I/O Bus
I/O Bridge

tcpdump

I/O Controller
Disk

Memory
Bus

perf

DRAM

nicstat
ip

Network Controller
Interface Transports

Disk

CPU
1

Various:
Port

Swap

swapon

ping

Port

traceroute

sar
/proc
Performance Analysis Tools: illumos
Operating System

netstat

Hardware

plockstat
lockstat
mpstat

Applications
DBs, all server types, ...

truss

System Libraries

kstat

CPU
Interconnect

System Call Interface
VFS
File Systems

IP

Block Device Interface

Ethernet

Scheduler

TCP/UDP

Volume Managers

dtrace

Sockets

prstat
ps

Virtual
Memory

vmstat

Device Drivers

cpustat

iostat

Expander Interconnect

I/O Bus

snoop

intrstat

I/O Bridge

Memory
Bus
DRAM

Network Controller
Interface Transports

Disk

CPU
1

nicstat
kstat

I/O Controller
Disk

cpustat
cputrack

Various:
Port

Swap

swap

ping

Port

traceroute

sar
kstat
Dynamic Tracing: DTrace
•

Example DTrace scripts from the DTraceToolkit, DTrace book, ...

cifs*.d, iscsi*.d :Services
nfsv3*.d, nfsv4*.d
ssh*.d, httpd*.d

Language Providers:
Databases:

fswho.d, fssnoop.d
sollife.d
solvfssnoop.d
dnlcsnoop.d
zfsslower.d
ziowait.d
ziostacks.d
spasync.d
metaslab_free.d

hotuser, umutexmax.d, lib*.d
node*.d, erlang*.d, j*.d, js*.d
php*.d, pl*.d, py*.d, rb*.d, sh*.d
mysql*.d, postgres*.d, redis*.d, riak*.d

Applications
DBs, all server types, ...
System Libraries
System Call Interface

ide*.d, mpt*.d

VFS

Sockets

File Systems

IP

Block Device Interface

Ethernet

Scheduler

TCP/UDP

Volume Managers
iosnoop, iotop
disklatency.d
satacmds.d
satalatency.d
scsicmds.d
scsilatency.d
sdretry.d, sdqueue.d

opensnoop, statsnoop
errinfo, dtruss, rwtop
rwsnoop, mmap.d, kill.d
shellsnoop, zonecalls.d
weblatency.d, fddist

Device Drivers

Virtual
Memory

priclass.d, pridist.d
cv_wakeup_slow.d
displat.d, capslat.d
minfbypid.d
pgpginbypid.d
macops.d, ixgbecheck.d
ngesnoop.d, ngelink.d

soconnect.d, soaccept.d, soclose.d, socketio.d, so1stbyte.d
sotop.d, soerror.d, ipstat.d, ipio.d, ipproto.d, ipfbtsnoop.d
ipdropper.d, tcpstat.d, tcpaccept.d, tcpconnect.d, tcpioshort.d
tcpio.d, tcpbytes.d, tcpsize.d, tcpnmap.d, tcpconnlat.d, tcp1stbyte.d
tcpfbtwatch.d, tcpsnoop.d, tcpconnreqmaxq.d, tcprefused.d
tcpretranshosts.d, tcpretranssnoop.d, tcpsackretrans.d, tcpslowstart.d
tcptimewait.d, udpstat.d, udpio.d, icmpstat.d, icmpsnoop.d
Too Many Tools
• It’s not really about the tools
• ... those previous diagrams aren’t even in the book
• It’s about what you need to accomplish, and then finding the
tools to answer them

• This is documented as
methodologies

• Tools are then used as
examples
Modern Performance Methodologies
• Workload characterization
• USE Method
• TSA Method
• Drill-down Analysis
• Latency Analysis
• Event Tracing
• Static performance
tuning

• ...
• Covered in Chapter 2
and later chapters
Systems Performance
• Really understand how systems work
• New observability, visualizations, methodologies
• Understand the challenges of
cloud computing

• Brendan Gregg:
• http://www.brendangregg.com
• http://dtrace.org/blogs/brendan
• twitter: @brendangregg
Sample Chapter
http://dtrace.org/blogs/brendan/2013/06/21/systems-performance-enterprise-and-the-cloud/

Weitere ähnliche Inhalte

Was ist angesagt?

EuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis MethodologiesEuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis Methodologies
Brendan Gregg
 
Speeding up ps and top
Speeding up ps and topSpeeding up ps and top
Speeding up ps and top
Kirill Kolyshkin
 
ACM Applicative System Methodology 2016
ACM Applicative System Methodology 2016ACM Applicative System Methodology 2016
ACM Applicative System Methodology 2016
Brendan Gregg
 

Was ist angesagt? (20)

EuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis MethodologiesEuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis Methodologies
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf tools
 
Broken Linux Performance Tools 2016
Broken Linux Performance Tools 2016Broken Linux Performance Tools 2016
Broken Linux Performance Tools 2016
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
Block I/O Layer Tracing: blktrace
Block I/O Layer Tracing: blktraceBlock I/O Layer Tracing: blktrace
Block I/O Layer Tracing: blktrace
 
DTrace Topics: Introduction
DTrace Topics: IntroductionDTrace Topics: Introduction
DTrace Topics: Introduction
 
Performance Analysis: new tools and concepts from the cloud
Performance Analysis: new tools and concepts from the cloudPerformance Analysis: new tools and concepts from the cloud
Performance Analysis: new tools and concepts from the cloud
 
Speeding up ps and top
Speeding up ps and topSpeeding up ps and top
Speeding up ps and top
 
Blazing Performance with Flame Graphs
Blazing Performance with Flame GraphsBlazing Performance with Flame Graphs
Blazing Performance with Flame Graphs
 
Linux BPF Superpowers
Linux BPF SuperpowersLinux BPF Superpowers
Linux BPF Superpowers
 
Open Source Systems Performance
Open Source Systems PerformanceOpen Source Systems Performance
Open Source Systems Performance
 
ACM Applicative System Methodology 2016
ACM Applicative System Methodology 2016ACM Applicative System Methodology 2016
ACM Applicative System Methodology 2016
 
Linux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringLinux Performance Profiling and Monitoring
Linux Performance Profiling and Monitoring
 
JavaOne 2015 Java Mixed-Mode Flame Graphs
JavaOne 2015 Java Mixed-Mode Flame GraphsJavaOne 2015 Java Mixed-Mode Flame Graphs
JavaOne 2015 Java Mixed-Mode Flame Graphs
 
Lisa12 methodologies
Lisa12 methodologiesLisa12 methodologies
Lisa12 methodologies
 
Linux Performance Tools
Linux Performance ToolsLinux Performance Tools
Linux Performance Tools
 
QCon 2015 Broken Performance Tools
QCon 2015 Broken Performance ToolsQCon 2015 Broken Performance Tools
QCon 2015 Broken Performance Tools
 
Netflix: From Clouds to Roots
Netflix: From Clouds to RootsNetflix: From Clouds to Roots
Netflix: From Clouds to Roots
 
OSSNA 2017 Performance Analysis Superpowers with Linux BPF
OSSNA 2017 Performance Analysis Superpowers with Linux BPFOSSNA 2017 Performance Analysis Superpowers with Linux BPF
OSSNA 2017 Performance Analysis Superpowers with Linux BPF
 
Java Performance Analysis on Linux with Flame Graphs
Java Performance Analysis on Linux with Flame GraphsJava Performance Analysis on Linux with Flame Graphs
Java Performance Analysis on Linux with Flame Graphs
 

Andere mochten auch

BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and more
Brendan Gregg
 
Velocity 2017 Performance analysis superpowers with Linux eBPF
Velocity 2017 Performance analysis superpowers with Linux eBPFVelocity 2017 Performance analysis superpowers with Linux eBPF
Velocity 2017 Performance analysis superpowers with Linux eBPF
Brendan Gregg
 

Andere mochten auch (6)

Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
 
BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and more
 
Velocity 2017 Performance analysis superpowers with Linux eBPF
Velocity 2017 Performance analysis superpowers with Linux eBPFVelocity 2017 Performance analysis superpowers with Linux eBPF
Velocity 2017 Performance analysis superpowers with Linux eBPF
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016
 
Kernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at NetflixKernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at Netflix
 
Container Performance Analysis
Container Performance AnalysisContainer Performance Analysis
Container Performance Analysis
 

Ähnlich wie Systems Performance: Enterprise and the Cloud

Ähnlich wie Systems Performance: Enterprise and the Cloud (20)

Using the big guns: Advanced OS performance tools for troubleshooting databas...
Using the big guns: Advanced OS performance tools for troubleshooting databas...Using the big guns: Advanced OS performance tools for troubleshooting databas...
Using the big guns: Advanced OS performance tools for troubleshooting databas...
 
Linux Performance Monitoring Tools
Linux Performance Monitoring ToolsLinux Performance Monitoring Tools
Linux Performance Monitoring Tools
 
Computer system organization
Computer system organizationComputer system organization
Computer system organization
 
Hot to build continuously processing for 24/7 real-time data streaming platform?
Hot to build continuously processing for 24/7 real-time data streaming platform?Hot to build continuously processing for 24/7 real-time data streaming platform?
Hot to build continuously processing for 24/7 real-time data streaming platform?
 
Performance analysis and troubleshooting using DTrace
Performance analysis and troubleshooting using DTracePerformance analysis and troubleshooting using DTrace
Performance analysis and troubleshooting using DTrace
 
Up and Running with Freebsd
Up and Running with FreebsdUp and Running with Freebsd
Up and Running with Freebsd
 
Linux-Internals-and-Networking
Linux-Internals-and-NetworkingLinux-Internals-and-Networking
Linux-Internals-and-Networking
 
9781111306366 ppt ch1
9781111306366 ppt ch19781111306366 ppt ch1
9781111306366 ppt ch1
 
Monitorama 2015 Netflix Instance Analysis
Monitorama 2015 Netflix Instance AnalysisMonitorama 2015 Netflix Instance Analysis
Monitorama 2015 Netflix Instance Analysis
 
Operating system
Operating systemOperating system
Operating system
 
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsThe Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
 
Embedded Systems: Lecture 5: A Tour in RTOS Land
Embedded Systems: Lecture 5: A Tour in RTOS LandEmbedded Systems: Lecture 5: A Tour in RTOS Land
Embedded Systems: Lecture 5: A Tour in RTOS Land
 
Operating Systems & Applications
Operating Systems & ApplicationsOperating Systems & Applications
Operating Systems & Applications
 
Linux Perf Tools
Linux Perf ToolsLinux Perf Tools
Linux Perf Tools
 
Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land
 
Realtime traffic analyser
Realtime traffic analyserRealtime traffic analyser
Realtime traffic analyser
 
linux monitoring and performance tunning
linux monitoring and performance tunning linux monitoring and performance tunning
linux monitoring and performance tunning
 
Linux
LinuxLinux
Linux
 
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 5 - System ...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 5 - System ...Understanding Computers: Today and Tomorrow, 13th Edition Chapter 5 - System ...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 5 - System ...
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
 

Mehr von Brendan Gregg

Mehr von Brendan Gregg (20)

YOW2021 Computing Performance
YOW2021 Computing PerformanceYOW2021 Computing Performance
YOW2021 Computing Performance
 
IntelON 2021 Processor Benchmarking
IntelON 2021 Processor BenchmarkingIntelON 2021 Processor Benchmarking
IntelON 2021 Processor Benchmarking
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)
 
Systems@Scale 2021 BPF Performance Getting Started
Systems@Scale 2021 BPF Performance Getting StartedSystems@Scale 2021 BPF Performance Getting Started
Systems@Scale 2021 BPF Performance Getting Started
 
Computing Performance: On the Horizon (2021)
Computing Performance: On the Horizon (2021)Computing Performance: On the Horizon (2021)
Computing Performance: On the Horizon (2021)
 
BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)
 
Performance Wins with BPF: Getting Started
Performance Wins with BPF: Getting StartedPerformance Wins with BPF: Getting Started
Performance Wins with BPF: Getting Started
 
YOW2020 Linux Systems Performance
YOW2020 Linux Systems PerformanceYOW2020 Linux Systems Performance
YOW2020 Linux Systems Performance
 
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflixre:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflix
 
UM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of SoftwareUM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of Software
 
LISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceLISA2019 Linux Systems Performance
LISA2019 Linux Systems Performance
 
LPC2019 BPF Tracing Tools
LPC2019 BPF Tracing ToolsLPC2019 BPF Tracing Tools
LPC2019 BPF Tracing Tools
 
LSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityLSFMM 2019 BPF Observability
LSFMM 2019 BPF Observability
 
YOW2018 CTO Summit: Working at netflix
YOW2018 CTO Summit: Working at netflixYOW2018 CTO Summit: Working at netflix
YOW2018 CTO Summit: Working at netflix
 
eBPF Perf Tools 2019
eBPF Perf Tools 2019eBPF Perf Tools 2019
eBPF Perf Tools 2019
 
YOW2018 Cloud Performance Root Cause Analysis at Netflix
YOW2018 Cloud Performance Root Cause Analysis at NetflixYOW2018 Cloud Performance Root Cause Analysis at Netflix
YOW2018 Cloud Performance Root Cause Analysis at Netflix
 
BPF Tools 2017
BPF Tools 2017BPF Tools 2017
BPF Tools 2017
 
NetConf 2018 BPF Observability
NetConf 2018 BPF ObservabilityNetConf 2018 BPF Observability
NetConf 2018 BPF Observability
 
FlameScope 2018
FlameScope 2018FlameScope 2018
FlameScope 2018
 
ATO Linux Performance 2018
ATO Linux Performance 2018ATO Linux Performance 2018
ATO Linux Performance 2018
 

Kürzlich hochgeladen

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
SoniaTolstoy
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
fonyou31
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Kürzlich hochgeladen (20)

Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 

Systems Performance: Enterprise and the Cloud

  • 2. Systems Performance • Analysis of apps to metal. Think LAMP not AMP. • An activity for everyone: from casual to full time. Operating System • The basis is the system Applications • The target is System Libraries System Call Interface everything can cause performance problems Kernel • All software VFS Sockets File Systems TCP/UDP Volume Managers IP Block Device Interface Ethernet Device Drivers Resource Controls Firmware Metal Scheduler Virtual Memory
  • 3. Systems Performance: Enterprise and the Cloud • Brendan Gregg (and many others); Prentice Hall, 2013 • 635 pages of chapters, plus appendices, etc • Background, methodologies, examples • Examples from: • Linux (Ubuntu, Fedora, CentOS) • illumos (SmartOS, OmniOS) • Audience: • Sysadmins, developers, everyone • Enterprise and cloud environments
  • 4. The Author: Brendan Gregg • Currently at Joyent, previously Brendan@Sun, then Oracle • Lead Performance Engineer: debugs perf on SmartOS/Linux/ Windows daily, small to large cloud environments, any layer of the software stack, down to firmware and metal. Previously a kernel engineer, performance consultant, trainer. • Written hundreds of published perf tools (too many), including the original iosnoop, iotop, execsnoop, nicstat, psio, etc. • Created visualizations: heat maps for various uses, flame graphs, frequency trails, cloud process graphs • Developed methodologies: USE method, TSA method • Co-authored books: DTrace, Solaris Performance and Tools
  • 5. Goals • Modern systems performance: including cloud computing, dynamic tracing, visualizations, open source • Accessible to a wide audience • Help you maximize system and application performance • Quickly diagnose performance issues: eg, outilers • Turn unknown unknowns into known unknowns – actionable • 10+ year shelf life: document concepts and methodology first, with tools and tunables of the day as examples of application
  • 6. Personal Motivation • The need for a good reference for: • Internal Joyent staff • External customers • IT at large • As a reference for classes • I’ve been teaching professional classes in system administration and performance on and off since 2001 • I’ve learned a lot from teaching students to solve real performance problems, to see what works, what doesn’t • I’ve been using this book already for teaching the Joyent cloud performance class: http://joyent.com/training, next class Nov 18th 2013
  • 7. Table of Contents • 1. Intro • 2. Methodology • 3. Operating Systems • 4. Observability Tools • 5. Applications • 6. CPUs • 7. Memory • 8. File Systems • 9. Disks • 10. Network • 11. Cloud Computing • 12. Benchmarking • 13. Case Study • Apx.A. USE Linux • Apx.B. USE Solaris • Apx.C. sar Summary • Apx.D. DTrace one-liners • Apx.E. DTrace to SystemTap • Apx.F. Solutions to Selected Ex. • Apx.G. Who's Who • Glossary • Index
  • 8. Highlights: • Chapter 2 Methodologies: • Many documented for the first time; some created by me • Chapter 3 Operating Systems: • 30 page summary of OS internals • Chapter 6-10: CPUs, Memory, FS, Disks, Network • Background, methodology, tools • Chapter 11: Cloud Computing • Different technologies and their performance • Chapter 12: Benchmarking • For the good of the industry. Please, everyone, read this.
  • 9. Chapter 2 Methodologies • Documenting the black art of systems performance • Also summarizes concepts, statistics, visualizations
  • 10. Chapter 3 Operating Systems • The OS crash course you missed at University
  • 11. Chapter 6-10 Structure • Background • Just enough OS and HW internals • Methodologies • For beginners, casual users, experts • How to start, and steps to proceed • Example Application • Linux, illumos • Tools, screenshots, case studies • Some tunables of the day
  • 12. Chapter 6-10 Structure • Background • Just enough OS and HW internals Generic • Methodologies • For beginners, casual users, experts • How to start, and steps to proceed • Example Application • Linux, illumos • Tools, screenshots, case studies • Some tunables of the day Specific
  • 13. Example: Chapter 6 CPUs Hardware Software
  • 14. Chapter 11 Cloud Computing • OS Virtualization • HW Virtualization • Observability • Performance • Resource controls
  • 15. Modern Systems Performance • Comparing 1990’s to 2010’s
  • 16. 1990’s Systems Performance * Proprietary Unix, closed source, static tools $ vmstat 1 kthr memory r b w swap free re 0 0 0 8475356 565176 2 1 0 0 7983772 119164 0 0 0 0 8046208 181600 0 [...] * * * * * mf 8 0 0 page disk faults cpu pi po fr de sr cd cd s0 s5 in sy cs us sy id 0 0 0 0 1 0 0 -0 13 378 101 142 0 0 99 0 0 0 0 0 224 0 0 0 1175 5654 1196 1 15 84 0 0 0 0 0 322 0 0 0 1473 6931 1360 1 7 92 Limited metrics and documentation Some perf issues could not be solved Analysis methodology constrained by tools Perf experts used inference and experimentation Literature is still around
  • 17. 2010’s Systems Performance • Open source (the norm) • Ultimate documentation • Dynamic tracing • Observe everything • Visualizations • Comprehend many metrics • Cloud computing • Resource controls can be the bottleneck! • Methodologies • Where to begin, and steps to root cause
  • 18. 1990’s Performance Visualizations Text-based and line graphs $ iostat -x 1 device sd0 sd5 sd12 sd12 sd13 sd14 sd15 sd16 nfs6 [...] r/s 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 extended device statistics w/s kr/s kw/s wait actv 0.1 5.2 3.9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.2 1.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 svc_t 69.8 1.1 3.1 0.0 0.0 1.9 0.0 0.0 0.0 %w 0 0 0 0 0 0 0 0 0 %b 0 0 0 0 0 0 0 0 0
  • 19. 2010’s Performance Visualizations • Utilization and latency heat maps, flame graphs
  • 20. Modern Performance Analysis Tools • Traditional tools • Plus dynamic tracing to fill in gaps
  • 21. Performance Analysis Tools: Linux strace Operating System netstat Hardware perf Applications DBs, all server types, ... pidstat mpstat System Libraries perf dtrace stap lttng ktap CPU Interconnect System Call Interface VFS Sockets File Systems TCP/UDP Volume Managers IP Block Device Interface Ethernet Scheduler top ps pidstat Virtual Memory vmstat slabtop free Device Drivers iostat iotop blktrace perf Expander Interconnect I/O Bus I/O Bridge tcpdump I/O Controller Disk Memory Bus perf DRAM nicstat ip Network Controller Interface Transports Disk CPU 1 Various: Port Swap swapon ping Port traceroute sar /proc
  • 22. Performance Analysis Tools: illumos Operating System netstat Hardware plockstat lockstat mpstat Applications DBs, all server types, ... truss System Libraries kstat CPU Interconnect System Call Interface VFS File Systems IP Block Device Interface Ethernet Scheduler TCP/UDP Volume Managers dtrace Sockets prstat ps Virtual Memory vmstat Device Drivers cpustat iostat Expander Interconnect I/O Bus snoop intrstat I/O Bridge Memory Bus DRAM Network Controller Interface Transports Disk CPU 1 nicstat kstat I/O Controller Disk cpustat cputrack Various: Port Swap swap ping Port traceroute sar kstat
  • 23. Dynamic Tracing: DTrace • Example DTrace scripts from the DTraceToolkit, DTrace book, ... cifs*.d, iscsi*.d :Services nfsv3*.d, nfsv4*.d ssh*.d, httpd*.d Language Providers: Databases: fswho.d, fssnoop.d sollife.d solvfssnoop.d dnlcsnoop.d zfsslower.d ziowait.d ziostacks.d spasync.d metaslab_free.d hotuser, umutexmax.d, lib*.d node*.d, erlang*.d, j*.d, js*.d php*.d, pl*.d, py*.d, rb*.d, sh*.d mysql*.d, postgres*.d, redis*.d, riak*.d Applications DBs, all server types, ... System Libraries System Call Interface ide*.d, mpt*.d VFS Sockets File Systems IP Block Device Interface Ethernet Scheduler TCP/UDP Volume Managers iosnoop, iotop disklatency.d satacmds.d satalatency.d scsicmds.d scsilatency.d sdretry.d, sdqueue.d opensnoop, statsnoop errinfo, dtruss, rwtop rwsnoop, mmap.d, kill.d shellsnoop, zonecalls.d weblatency.d, fddist Device Drivers Virtual Memory priclass.d, pridist.d cv_wakeup_slow.d displat.d, capslat.d minfbypid.d pgpginbypid.d macops.d, ixgbecheck.d ngesnoop.d, ngelink.d soconnect.d, soaccept.d, soclose.d, socketio.d, so1stbyte.d sotop.d, soerror.d, ipstat.d, ipio.d, ipproto.d, ipfbtsnoop.d ipdropper.d, tcpstat.d, tcpaccept.d, tcpconnect.d, tcpioshort.d tcpio.d, tcpbytes.d, tcpsize.d, tcpnmap.d, tcpconnlat.d, tcp1stbyte.d tcpfbtwatch.d, tcpsnoop.d, tcpconnreqmaxq.d, tcprefused.d tcpretranshosts.d, tcpretranssnoop.d, tcpsackretrans.d, tcpslowstart.d tcptimewait.d, udpstat.d, udpio.d, icmpstat.d, icmpsnoop.d
  • 24. Too Many Tools • It’s not really about the tools • ... those previous diagrams aren’t even in the book • It’s about what you need to accomplish, and then finding the tools to answer them • This is documented as methodologies • Tools are then used as examples
  • 25. Modern Performance Methodologies • Workload characterization • USE Method • TSA Method • Drill-down Analysis • Latency Analysis • Event Tracing • Static performance tuning • ... • Covered in Chapter 2 and later chapters
  • 26. Systems Performance • Really understand how systems work • New observability, visualizations, methodologies • Understand the challenges of cloud computing • Brendan Gregg: • http://www.brendangregg.com • http://dtrace.org/blogs/brendan • twitter: @brendangregg Sample Chapter http://dtrace.org/blogs/brendan/2013/06/21/systems-performance-enterprise-and-the-cloud/