O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

High-Performance IT Services

Book Description

This book on performance fundamentals covers UNIX, OpenVMS, Linux, Windows, and MVS. Most of the theory and systems design principles can be applied to other operating systems, as can some of the benchmarks. The book equips professionals with the ability to assess performance characteristics in unfamiliar environments. It is suitable for practitioners, especially those whose responsibilities include performance management, tuning, and capacity planning. IT managers with a technical outlook also benefit from the book as well as consultants and students in the world of systems for the first time in a professional capacity.

Table of Contents

  1. Cover
  2. Half title
  3. Title Page
  4. Copyright Page
  5. Dedication
  6. Contents
  7. List of Figures
  8. List of Tables
  9. Foreword
  10. Preface
  11. Acknowledgments
  12. Author
  13. SECTION I PERFORMANCE PRIN CIPLES AND COMPONENTS
    1. 1 What Is Performance?
      1. Introduction
      2. Performance Concept
        1. An Approach to a Solution
        2. Performance: Leveling the Playing Field
      3. What Is Performance?
        1. Performance of What?
        2. Performance in Numbers
        3. Misleading Clock Speed
        4. More on Misleading MIPS
        5. MIPS and Dhrystones
        6. Fixed-Point or Integer Performance
        7. Integer Performance Table
        8. Floating-Point Performance
        9. Single versus Double Precision
      4. Factors Affecting Performance
        1. Design
        2. Implementation
        3. Operation
      5. Performance Journey
        1. Performance Terminology
        2. Does Performance Have a Value?
        3. Interaction of Resources
        4. Resource Management
      6. What Can We Do about Performance?
        1. Preoperational Options
        2. Postoperational Options
        3. Monitoring Performance
        4. Performance Metrics
        5. Role of Testing in Performance
    2. 2 Processor Hardware
      1. Moore’s Law
        1. Moore’s Law Giveth and …Taketh Away
      2. Central Processors
        1. Processor Usage
        2. Processor Utilization Breakdown
      3. Operating System
        1. Supporting Software
        2. Peripherals
      4. Processor Performance
      5. Central Processor (CPU) Architectures
      6. RISC and CISC Architectures
        1. Traditional System Design
        2. Superscalar Architectures
        3. Uniprocessor (UP) Architecture
        4. Symmetric Multiprocessor Architecture
        5. Clustered Systems
        6. Massively Parallel Processor Architecture
        7. Parallel Processing
        8. Implementations of Parallel Computing
        9. Evolution of Parallel Processing
      7. Processor Summary
      8. NUMA Systems
        1. NUMA Performance
      9. Performance Scaling Laws
        1. Introduction
          1. Amdahl’s Law
          2. Gunther’s Law
          3. Gustafson’s Law
        2. Amdahl versus Gunther
        3. Speedup: Sun–Ni Law
      10. Memory Hierarchy
        1. Cache
        2. Cache Hierarchy
        3. Cache Consistency
        4. Cache Structure
        5. A Cache–Workman Analogy
        6. Cache Coherence in Multicore Chips
    3. 3 Software and Performance
      1. Performance Role of Software
      2. Data Tiering
      3. Data Compression
        1. Data Compression Benchmarks
        2. HTTP Compression
      4. Software Formats
        1. IEEE 754-2008 Floating-Point Standard
      5. Software Optimization
        1. Compiler and Other Options
        2. Pipelining
        3. Cache Misses
      6. Software Performance “Gotchas”
        1. Security or Fault Tolerance
        2. Encryption
        3. Deadlocks
        4. Runaway Tasks
        5. Bad and Overdesign
        6. Indexing RDBMSs
        7. Indexing: A Cute Trick
        8. Poor Software Mixtures
        9. Java Performance
        10. Transaction Processing (OLTP)
        11. 15 Performance Factors
      7. Virtualization Overheads
        1. VM Overhead Reasons
      8. Buffers and Performance
        1. Is Bigger Better?
      9. Middleware
        1. Security Overheads
        2. Conclusions
      10. Network Losses
        1. Causes of Packet Loss
        2. TCP Loss Graph
    4. 4 Performance: Magnetic Storage and Clusters
      1. Disks and Disk Architecture
        1. Traditional Disks (HDD)
        2. Disk Operation Timing
        3. IOPS Myths
      2. Measurement of Disk Characteristics
        1. Do It Yourself Method
        2. An Example
        3. Using Bonnie++
        4. Storage Configurations
      3. Network Attached Storage
        1. NAS Overview
      4. Storage Area Networks
        1. What Is a SAN?
      5. RAID Storage
        1. RAID Performance
        2. Hardware versus Software RAID
        3. RAID Access Characteristics: 1
        4. RAID Access Characteristics: 2
        5. RAID Access Characteristics: 3
        6. RAID Performance References
        7. RAID Applicability
        8. Is There Life after RAID?
      6. Solid-State Drives (SSD)
        1. Flash Storage
        2. All-Flash Data Centers?
        3. Solid-State Drives Overview
        4. Hybrid SSD/HDD Tiering
        5. SSD versus HDD RAID
        6. SSD Benchmarks
        7. Future of SSD
        8. Stop Press: Intel Optane
        9. SSD Myths and Legends
        10. SSD Performance
      7. Storage Performance
        1. Introduction
        2. Storage Performance Management
        3. NAS and SAN Management
        4. SAN Performance
        5. NAS Benchmarks and Test Tools
        6. Storage Futures
        7. RAID and Erasure Codes
        8. EC Recovery Scope
      8. Storage Connections
        1. Data Bus
        2. SCSI Architecture
        3. SATA and ATA
        4. Fiber Channel Architecture
        5. IBM Serial Storage Architecture (SSA)
        6. IBM Channels
        7. Storage Performance Gotchas
      9. Clusters of Compute Nodes
        1. Cluster Architectures
        2. Cluster Components
          1. Hardware Components
          2. Software Components
    5. 5 Networks
      1. Factors Affecting Network Performance
        1. Network Performance Measures
      2. Communications Architectures
        1. Network Protocols
      3. Network Performance
        1. Network Performance Factors
        2. Latency
        3. Networks to Be Examined
        4. Classical Online System
        5. Classical Network: Parameters
        6. Client/Server Operation
        7. Ethernet LAN Operation
        8. Token Ring LAN Operation
      4. Network Transmission Management
        1. Data Compression
        2. Network Traffic Control
        3. Error Detection and Correction
        4. Routing Control
        5. More on Routing
        6. Congestion Control
        7. Bulk Data Transfers
        8. Traffic Shaping
        9. Network Monitoring
        10. Network Performance Article Series
      5. Web-Based Applications
      6. Wide Area Networks
        1. WAN Introduction
        2. WAN Design
        3. WAN Acceleration
        4. WAN Speedup
        5. WAN Optimization References
        6. WAN Optimization Vendors
        7. WAN Optimization: Aberdeen Magic Quadrant
        8. Enterprise and Science Networks
      7. Web Performance
        1. Web Performance Working Group
        2. Website Access Flow and Bottlenecks
        3. Web Performance by Design
        4. Web Access: Where Does the Time Go?
        5. Good Web Performance References
        6. Poor Web Performance: Consequences
      8. Best Performance Practices
        1. Other Optimization Papers
        2. Web Scalability
        3. Web Bottlenecks
        4. A Small Experiment
        5. Nielsen’s Internet Law
        6. Financial and Productivity Aspects of Performance
        7. Summary
    6. 6 Graphics and Architecture
      1. Graphics Overview
      2. Graphics Performance
      3. Graphics Speed
        1. Characters per Second
        2. BitBLT
        3. 2D Vectors per Second
        4. 3D Vectors per Second
        5. Shaded Polygons per Second
        6. Gouraud Shading
        7. X Windows Performance
        8. Use of Graphics Power
        9. Growth in Graphics Power
  14. SECTION II THE PERFORMANCE PLAYING FIELD
    1. 7 Performance: Simple Theory and Concepts
      1. Queuing Theory Concepts
        1. Word of Advice
        2. Making Performance Estimates
        3. Queues and Resources
        4. Queuing: Two Railway Scenarios
      2. Basis of Theory
        1. Why Does It Matter?
        2. Workload Queues
        3. Arrival Process
        4. Response Time Factors
        5. What Determines Wait and Service Times?
        6. General Service Theory
        7. Statement of the Problem
        8. Terminology and Notations
        9. Utilization: What Is It?
      3. Why Is Utilization Important?
      4. Management of Performance
      5. Importance of Systems Management
      6. Importance of Performance Management
        1. Difference between Management and Monitoring
        2. Desired PM Solution Capabilities (BMC)
      7. Performance Management (PM)
        1. What Is PM?
        2. Importance of Performance Management
        3. Service Flow Overview
        4. Stages of the Performance Life Cycle
      8. Performance Definitions and Terms
        1. Benchmarks
        2. Tuning
      9. Simple Performance Model
      10. Performance Measures
        1. Vendor Measures
        2. User Measures
      11. Performance: Good and Bad
        1. Abnormal Systems Loads
        2. Activity Peaks
        3. Peakiness Lesson
      12. What Degrades Performance?
        1. Physical Bottlenecks
        2. Logical Bottlenecks
      13. System Performance Concepts
        1. Military Analogy of Throughput
        2. Percentile Responses
      14. Performance in Distributed Systems
        1. Distributed Systems Examples
        2. Systems Network Architecture Mainframe Example
        3. Client/Server Example
        4. Internet Example
      15. Why Bother at All?
  15. SECTION III PERFORMANCE IN PRACTICE
    1. 8 Performance: Design, Sizing, and Management
      1. Is the APM Cost Worth It?
      2. Service Level Agreements
        1. SLAs: The Dawn of Realism
        2. Idea of User Service
      3. Systems Design
      4. Performance Architecture
        1. Sample Performance Architecture
        2. Performance Architecture White Papers
      5. System Sizing
        1. Sizing Background
        2. Peak-to-Average Concept
        3. Sizing What?
      6. Outline
        1. Classical Systems
        2. Processor
        3. Rough Sizing Method
        4. Web-Based Applications
      7. Web Server Sizing: One Method
        1. Web Server Sizing: Another Method
        2. Web Server Sizing: Other Sources
        3. Web Server Sizing: Testing and Simulation
        4. Network Simulation Tools
          1. NetSim
          2. Wireshark
          3. ns-3
          4. OPNET
          5. GNS3
        5. Web Network Sizing
      8. Monitoring Overview
        1. Introduction
        2. Generic Monitoring or Management
        3. Synthetic Workload: Generic Requirements
        4. What Entities Do We Measure?
        5. Use of a Ping Transaction
      9. Performance Monitoring Methodology
      10. Network Management Tools
        1. Network Monitoring
        2. Network Factors
        3. Network Entities
        4. Network Performance Tools
          1. Internet2
          2. Extrahop
          3. Products and Metrics
          4. Cisco
          5. Sflow
          6. Paessler
          7. SevOne
          8. Juniper Networks
          9. Riverbed
          10. Capterra Product Sources
          11. Fluke Networks eBook
          12. Other Sources
        5. Network Performance: Aberdeen Magic Quadrant
        6. Web Response Time Metrics
        7. Network Documentation
        8. Types of Performance Tool
      11. Native System Performance Tools
        1. Windows Performance
        2. UNIX Performance Commands
          1. sar
          2. vmstat
          3. iostat
        3. LINUX Performance Commands
          1. Linux Performance Tool References
        4. MVS and z/OS Performance Tools
        5. OpenVMS Performance Tools
          1. $ Monitor Command
          2. $ MONITOR SYSTEM Command
          3. MONITOR DISK/Qualifier
        6. Management of Performance Data
          1. Collection of Data
          2. Analysis of Data
        7. Virtual Machine Performance
          1. Cloud or Virtualization Gotcha
        8. Monitoring Virtual Environments
        9. Scope of the Problem
          1. Hypervisors
          2. Virtualization Management
        10. Virtualization Performance Metrics
        11. Maturity of Virtualization Monitoring
          1. VM Time
          2. VM Interference
      12. Cloud Monitoring and Performance
        1. Cloud Visibility
        2. Cloud Monitoring Metrics
        3. Cloud Benchmarking
        4. Cloud Performance Variations
        5. SLAs for the Cloud
        6. External Performance Measures
          1. Operational Metrics
          2. Capacity Planning
        7. Cloud KPIs
        8. Cloud Vendors’ Performance
      13. Commercial Performance Tools
        1. System Performance Tools
      14. Application Performance Management
        1. Gartner and APM
      15. Database Performance Management
        1. RDBMS Monitors
          1. High-Level Metrics
          2. Database Metrics
          3. Operational Metrics
          4. General
          5. Oracle
          6. SolarWinds
          7. IBM DB2
          8. MySQL
          9. Informix
          10. Sybase
          11. NoSQL
          12. MongoDB
          13. Dell
          14. Other Databases
        2. In-Memory Databases
        3. In-Memory Database Performance
      16. Capacity Management and Planning
        1. Introduction and Justification
        2. What Is Capacity Management?
        3. ITIL View
        4. Capacity Planning Scope
        5. Methodology
        6. Steps to Take
        7. Modes of Operation
        8. Network Capacity Planning
        9. Suggested Method
        10. Summary
  16. SECTION IV BENCHMARKS AND BENCHMARKING
    1. 9 Overview of Benchmarking
      1. Notes on Benchmarking Metrics
      2. What Is a Benchmark?
      3. Benchmark Metrics
      4. Why Run Benchmarks?
      5. Choosing a Benchmark
        1. Summary
      6. Running Benchmarks
        1. Introduction
        2. Simulating Multiple Users: Character Terminals
        3. Benchmarking “Do’s”
        4. Structured Approach to Performance Testing
      7. Types of Benchmark
        1. Multitasking
        2. Multiuser
      8. Summary
    2. 10 Commercial and Scientific Benchmarks
      1. Integer and Fixed-Point Benchmarks
      2. Commercial Benchmarks
        1. SAP Standard Application Benchmarks
        2. Oracle Applications Benchmark
        3. Relational Database Benchmarks
          1. Sysbench
          2. AS3AP
      3. Scientific Benchmarks
        1. Linpack
        2. Lapack
        3. NAMD V2.7b1
        4. ANSYS V11
        5. HPCG
        6. HPCC Benchmark
    3. 11 SPEC Benchmarks
      1. Origins of SPEC
        1. SPEC Subgroups
      2. Current SPEC Benchmarks
      3. SPEC’s Benchmarks
        1. CPU
        2. Graphics and Workstation Performance
        3. Handheld
        4. High-Performance Computing, OpenMP, MPl, OpenACC, OpenCL
        5. Java Client/Server
        6. Mail Servers
        7. Solution File Server
        8. Power
        9. SIP
        10. Virtualization
        11. Web Servers
        12. SPEC Tools
      4. SPEC CPU2006
      5. Specjbb
        1. New Features in SPECjbb2013
    4. 12 The TPC and Other Benchmarks
      1. TPC Organization
      2. TPC-C Benchmark
        1. TPC-C Workload
        2. Typical TPC-C Setup
      3. TPC-D Benchmark
      4. TPC-H Benchmark
      5. TPC-R Benchmark
      6. Virtualization Environment Benchmarks
        1. Virtualization Performance Terminology
      7. TPC-VMS Benchmark
      8. SPECvirt_sc2013 Benchmark
        1. SPECvirt_sc2013 Metrics
        2. vConsolidate Benchmark
      9. VMmark Benchmark
        1. Original VMmark
        2. VMmark V2.x
        3. VMmark Results
      10. TPC Benchmarks That Didn’t Make It
        1. TPC-S
        2. TPC-E
        3. TPC-CS
        4. TPC: State of the Art
        5. Classic Benchmark Reference
      11. Storage Benchmarks
        1. Standard Storage Benchmarks
          1. SPC
          2. SPC-1
          3. SPC-2
          4. SPC-2 Reported Data
        2. SPECsfs Benchmarks
        3. SPEC SFS2014 Results
        4. Other Storage References
    5. 13 Network Performance Benchmarks
      1. Network Benchmarks
        1. Netperf
          1. CPU Utilization
          2. Using Netperf to Measure Bulk Data Transfer
          3. CPU Utilization in a Virtual Guest
          4. CPU Rate Calibration
        2. Five Free Network Performance Tools
      2. Commercial and Other Tools
        1. NetSpec
        2. Nettest
        3. TTCP
        4. Network Load Testing
    6. 14 Virtualization Overview
      1. What Is Virtualization?
      2. Virtual Machines Today
        1. Full Virtualization
        2. Paravirtualization
        3. Performance Aspects of Virtualization
        4. Monitoring Virtual Machines
        5. Risks of Virtualization
      3. Cloud Overview
        1. Origins of Cloud Environment
        2. What Is Cloud Computing?
        3. Cloud Characteristics
        4. Cloud Characteristics (NIST 800-145)
        5. Cloud Service Models
        6. Cloud Deployment Models
        7. Resource Management in Virtualized Environments
        8. Physical versus Virtual Management
        9. SLAs and the Cloud
    7. 15 High Availability and Disaster Recovery
      1. Relationship to Performance
        1. What Is HA?
        2. What Is DR?
          1. Backup and Recovery Performance Requirements
        3. RTO and RPO
          1. Recovery Time Objective
          2. Recovery Point Objective
        4. Backup and Restore
          1. Overview
          2. Backup and Restore Environment
          3. Backup Modes
          4. Backup Types
          5. Data Deduplication
          6. Data Replication
          7. Restoring Data
        5. Backup and Restore Performance
        6. Backup and Restore Media
        7. Virtual Environment Backup
          1. VCB
          2. Backup Products
          3. Other VM Backup Literature
        8. Backup and Restore: Speedup Methods
          1. Compression and Decompression
          2. WAN Optimization
    8. 16 Other Topics
      1. Performance Overheads
      2. Virtual Machine Overheads
      3. Network Overheads
        1. Frame Relay
        2. ATM
        3. MPLS
        4. Ethernet
      4. Routing in TCP/IP
      5. Simple Transmission Math
      6. More Transmission Considerations
      7. Monitoring Overheads
      8. Other Overheads
      9. Latency: An Examination
        1. Overview
        2. Latency: More Detail
        3. Some Transmission Physics
        4. Latency: Some Math
        5. The Logic
        6. Importance of Differentiation
        7. Latency: Visual Detail
        8. Effective Data Rate
        9. Measuring Latency
        10. Latency: Summary
        11. Latency: Corroboration
        12. References
      10. Future Developments
        1. Network Speeds
        2. Ethernet Alliance “Speed” Road Map
        3. Photonic Chip
        4. Storage Speeds
        5. Processor Speed: Futures
        6. Memory Futures?
        7. Other Useful Documents
    9. 17 Performance-Related Disciplines
      1. Introduction
        1. Why Discipline?
        2. Content
      2. Service Level Agreements
        1. SLA Introduction
        2. SLA Metrics
        3. Performance Metrics Environment
          1. A: Internal Metrics
          2. B: Internal Management Metrics
          3. C: Internal SLA Metrics
          4. D: External SLA Metrics
          5. E: Application Metrics
        4. Using Performance Metrics
          1. How Do We Measure Them?
          2. What Do We Do with Them?
          3. Performance Visualization
        5. Cloud Scenario
          1. SLAs and the Cloud
        6. Aside on Viewpoints
        7. Multilayer SLAs
        8. SLA: Availability and Quality of Service
        9. Elements of SLAs
        10. Types of SLA
        11. Potential Business Benefits of SLAs
          1. Potential IT Benefits
          2. Reasons for SLAs
        12. Cloud Supplier SLAs
        13. Cloud SLA References
      3. Performance Management: The Project
        1. Start-Up and Design Phase
        2. Management Flow
          1. Design and Start-Up
          2. Operations and Management
        3. Management Framework
          1. Project Definition Workshop
          2. Outline of the PDW
          3. PDW Method Overview
        4. Project Initiation Document
          1. PID Structure and Purpose
          2. Multistage PDW
      4. Delphi Techniques and Intensive Planning
        1. Delphi Technique
        2. Delphi: The Steps
      5. Change Management
        1. Change or Configuration Management
        2. Change Management and Control: Best Practice
        3. Change Operations
        4. Patch Management
      6. War Room
        1. War Room Location
        2. Documentation
  17. SECTION V APPENDICES
    1. Appendix I: Basic Queuing Theory
    2. Appendix II: Historical Benchmarks
    3. Appendix III: Terminology
    4. Appendix IV: Some Performance Math
    5. Appendix V: Distributed Systems Topics
    6. Appendix VI: High-Performance Computing
    7. Appendix VII: Summary and Overview of the Book
  18. Index