System Performance Tuning. 2nd Edition
- Autorzy:
- Gian-Paolo D. Musumeci, Mike Loukides
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 352
- Dostępne formaty:
-
ePubMobi
Opis ebooka: System Performance Tuning. 2nd Edition
System Performance Tuning answers one of the most fundamental questions you can ask about your computer: How can I get it to do more work without buying more hardware? In the current economic downturn, performance tuning takes on a new importance. It allows system administrators to make the best use of existing systems and minimize the purchase of new equipment. Well-tuned systems save money and time that would otherwise be wasted dealing with slowdowns and errors. Performance tuning always involves compromises; unless system administrators know what the compromises are, they can't make intelligent decisions.Tuning is an essential skill for system administrators who face the problem of adapting the speed of a computer system to the speed requirements imposed by the real world. It requires a detailed understanding of the inner workings of the computer and its architecture. System Performance Tuning covers two distinct areas: performance tuning, or the art of increasing performance for a specific application, and capacity planning, or deciding what hardware best fulfills a given role. Underpinning both subjects is the science of computer architecture. This book focuses on the operating system, the underlying hardware, and their interactions. Topics covered include:
- Real and perceived performance problems, introducing capacity planning and performance monitoring (highlighting their strengths and weaknesses).
- An integrated description of all the major tools at a system administrator's disposal for tracking down system performance problems.
- Background on modern memory handling techniques, including the memory-caching filesystem implementations in Solaris and AIX. Updated sections on memory conservation and computing memory requirements.
- In depth discussion of disk interfaces, bandwidth capacity considerations, and RAID systems.
- Comprehensive discussion of NFS and greatly expanded discussion of networking.
- Workload management and code tuning.
- Special topics such as tuning Web servers for various types of content delivery and developments in cross-machine parallel computing
Wybrane bestsellery
-
The book will cover the practical guide to becoming a network architect, helping you build expertise in networking engineering skills, fabric layout design, collaboration with stakeholders, and essential certifications for success in the field.
Network Architect's Handbook. An expert-led journey to building a successful career as a network architect Network Architect's Handbook. An expert-led journey to building a successful career as a network architect
-
This advanced guide takes you through the well-architected delivery landscape for Salesforce projects, offering strategic insights and practical solutions. It empowers architects to accelerate deployments with automation and measure success.
Salesforce DevOps for Architects. Discover tools and techniques to optimize the delivery of your Salesforce projects Salesforce DevOps for Architects. Discover tools and techniques to optimize the delivery of your Salesforce projects
-
This practical guide enables you to implement DevOps best practices while building systems with automation and reusability in mind. You’ll learn the modern-day infrastructure design best practices needed to create an impact on data-persistent technologies.
DevOps for Databases. A practical guide to applying DevOps best practices to data-persistent technologies DevOps for Databases. A practical guide to applying DevOps best practices to data-persistent technologies
-
This book is for software and IT professionals seeking knowledge on Linux systems and DevOps practices. This book will provide you with guidance and tools to learn and gain proficiency in managing Linux-based infrastructures and knowledge of DevOps.
The Linux DevOps Handbook. Customize and scale your Linux distributions to accelerate your DevOps workflow The Linux DevOps Handbook. Customize and scale your Linux distributions to accelerate your DevOps workflow
-
This practical guide helps you explore the pentesting of Microsoft infrastructure in detail, and enhances your offensive skillset by showing you the different ways to perform security assessment. This book will help blue teamers and IT engineers get up to speed with possible security issues they ...
Pentesting Active Directory and Windows-based Infrastructure. A comprehensive practical guide to penetration testing Microsoft infrastructure Pentesting Active Directory and Windows-based Infrastructure. A comprehensive practical guide to penetration testing Microsoft infrastructure
-
AWS DevOps Simplified covers in detail the most important AWS services to accelerate your DevOps journey in the cloud. The hands-on examples get you up to speed in no time to build and operate modern enterprise-grade software solutions on AWS, with increased reliability and confidence.
AWS DevOps Simplified. Build a solid foundation in AWS to deliver enterprise-grade software solutions at scale AWS DevOps Simplified. Build a solid foundation in AWS to deliver enterprise-grade software solutions at scale
-
This practice book comes with a plethora of practice questions that are designed to condition and prepare you for each domain of the exam. The questions are distributed according to the weightage each domain holds in the exam.
CompTIA A+ Practice Test Core 1 (220-1101). Over 500 practice questions to help you pass the CompTIA A+ Core 1 exam on your first attempt CompTIA A+ Practice Test Core 1 (220-1101). Over 500 practice questions to help you pass the CompTIA A+ Core 1 exam on your first attempt
-
Designing and Implementing Microsoft Azure Networking Solutions Exam Ref AZ-700 is an all-encompassing guide to the AZ-700 exam and contains all the information you need to succeed in the world of virtual networking with Azure. With this book, you will be fully prepared for the exam and the world...
Designing and Implementing Microsoft Azure Networking Solutions. Exam Ref AZ-700 preparation guide Designing and Implementing Microsoft Azure Networking Solutions. Exam Ref AZ-700 preparation guide
Gian-Paolo D. Musumeci, Mike Loukides - pozostałe książki
-
As the impact of data science continues to grow on society there is an increased need to discuss how data is appropriately used and how to address misuse. Yet, ethical principles for working with data have been available for decades. The real issue today is how to put those principles into action...(594.15 zł najniższa cena z 30 dni)
0.00 zł
699.00 zł(-100%) -
In the early days of the 20th century, department store magnate JohnWanamaker famously said, "I know that half of my advertising doesn'twork. The problem is that I don't know which half." That remainedbasically true until Google transformed advertising with AdSense basedon new uses of data and an...
-
Have we entered the age of NoOps infrastructures? Hardly. Old-style system administrators may be disappearing in the face of automation and cloud computing, but operations have become more significant than ever. As this O’Reilly Radar Report explains, we’re moving into a more complex ...
-
In the past few years, we’ve seen many data products based on predictive modeling. These products range from weather forecasting to recommendation engines like Amazon's. Prediction technology can be interesting and mathematically elegant, but we need to take the next step: going from recomm...
-
This report examines the important shifts in data products. Drawing from diverse examples, including iTunes, Google's self-driving car, and patient monitoring, author Mike Loukides explores the "disappearance" of data, the power of combining data, and the difference between discovery and recommen...
-
We've all heard it: according to Hal Varian, statistics is the next sexy job. Five years ago, in What is Web 2.0, Tim O'Reilly said that "data is the next Intel Inside." But what does that statement mean? Why do we suddenly care about statistics and about data? This report examines the many sides...
Ebooka "System Performance Tuning. 2nd Edition" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "System Performance Tuning. 2nd Edition" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "System Performance Tuning. 2nd Edition" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-05-965-5204-6, 9780596552046
- Data wydania ebooka:
- 2002-02-05 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 1.0MB
- Rozmiar pliku Mobi:
- 3.2MB
Spis treści ebooka
- System Performance Tuning, 2nd Edition
- SPECIAL OFFER: Upgrade this ebook with OReilly
- Preface
- Who Should Buy This Book?
- A Note on Coverage
- How to Read This Book
- This Book as a Story
- This Book as a Reference
- Organization
- Typographic Conventions
- Comments and Questions
- Personal Comments and Acknowledgments
- Acknowledgments from Mike Loukides
- 1. An Introduction to Performance Tuning
- 1.1. An Introduction to Computer Architecture
- 1.1.1. Levels of Transformation
- 1.1.1.1. Software: algorithms and languages
- 1.1.1.2. The Instruction Set Architecture
- 1.1.1.3. Hardware: microarchitecture, circuits, and devices
- 1.1.1. Levels of Transformation
- 1.1.2. The von Neumann Model
- 1.1.3. Caches and the Memory Hierarchy
- 1.1.4. The Benefits of a 64-Bit Architecture
- 1.1.4.1. What does it mean to be 64-bit?
- 1.1.4.2. Performance ramifications
- 1.1. An Introduction to Computer Architecture
- 1.2. Principles of Performance Tuning
- 1.2.1. Principle 0: Understand Your Environment
- 1.2.2. Principle 1: TANSTAAFL!
- 1.2.3. Principle 2: Throughput Versus Latency
- 1.2.4. Principle 3: Do Not Overutilize a Resource
- 1.2.5. Principle 4: Design Tests Carefully
- 1.3. Static Performance Tuning
- 1.3.1. Other Miscellaneous Things to Check
- 1.4. Concluding Thoughts
- 2. Workflow Management
- 2.1. Workflow Characterization
- 2.1.1. Simple Commands
- 2.1.2. Process Accounting
- 2.1.2.1. Enabling process accounting
- 2.1.2.2. Reviewing accounting records
- 2.1.3. Automating sar
- 2.1.3.1. Enabling sar
- 2.1.3.2. Retrieving data
- 2.1. Workflow Characterization
- 2.1.4. Virtual Adrian
- 2.1.5. Network Pattern Analysis
- 2.1.5.1. Pattern 1: request-response
- 2.1.5.2. Pattern 1B: inverse request-response
- 2.1.5.3. Pattern 2: data transfer
- 2.1.5.4. Pattern 3: message passing
- 2.1.5.5. Packet size distributions
- 2.2. Workload Control
- 2.2.1. Education
- 2.2.1.1. Usage and performance agreements
- 2.2.1. Education
- 2.2.2. The maxusers and the pt_cnt Parameters
- 2.2.3. Limiting Users
- 2.2.3.1. Quotas
- 2.2.3.2. Environmental limits
- 2.2.4. Complex Environments
- 2.3. Benchmarking
- 2.3.1. MIPS and Megaflops
- 2.3.1.1. MIPS
- 2.3.1.2. Megaflops
- 2.3.1. MIPS and Megaflops
- 2.3.2. Component-Specific Benchmarks
- 2.3.2.1. Linpack
- 2.3.2.2. SPECint and SPECfp
- 2.3.3. Commercial Workload Benchmarks
- 2.3.3.1. TPC
- 2.3.3.2. SPECweb99
- 2.3.4. User Benchmarks
- 2.3.4.1. Choose your problem set
- 2.3.4.2. Choose your runtime
- 2.3.4.3. Automate heavily
- 2.3.4.4. Set benchmark runtime rules
- 2.4. Concluding Thoughts
- 3. Processors
- 3.1. Microprocessor Architecture
- 3.1.1. Clock Rates
- 3.1.2. Pipelining
- 3.1.2.1. Variable-length instructions
- 3.1.2.2. Branches
- 3.1.3. The Second Generation of RISC Processor Design
- 3.1. Microprocessor Architecture
- 3.2. Caching
- 3.2.1. The Cache Hierarchy
- 3.2.2. Cache Organization and Operation
- 3.2.3. Associativity
- 3.2.4. Locality and "Cache-Busters"
- 3.2.4.1. Unit stride
- 3.2.4.2. Linked lists
- 3.2.4.3. Cache-aligned block copy problems
- 3.2.5. The Cache Size Anomaly
- 3.3. Process Scheduling
- 3.3.1. The System V Model: The Linux Model
- 3.3.1.1. Finding a processs priority
- 3.3.1.2. Adjusting a process's effective priority
- 3.3.1.3. Modifications for SMP systems
- 3.3.1. The System V Model: The Linux Model
- 3.3.2. Multilayered Scheduling Classes: The Solaris Model
- 3.3.2.1. The Solaris threading model
- 3.3.2.2. Scheduling classes
- 3.3.2.3. The dispatcher
- 3.3.2.4. Checking a process's priority
- 3.3.2.5. Tuning the dispatch tables
- 3.3.2.6. Adjusting priorities
- 3.4. Multiprocessing
- 3.4.1. Processor Communication
- 3.4.1.1. Buses
- 3.4.1.2. Crossbars
- 3.4.1.3. UltraSPARC-III systems: Fireplane
- 3.4.1.4. "Interconnectionless" architectures
- 3.4.1. Processor Communication
- 3.4.2. Operating System Multiprocessing
- 3.4.3. Threads
- 3.4.4. Locking
- 3.4.5. Cache Influences on Multiprocessor Performance
- 3.5. Peripheral Interconnects
- 3.5.1. SBus
- 3.5.1.1. Clock speed
- 3.5.1.2. Burst transfer size
- 3.5.1.3. Transfer mode
- 3.5.1.4. Summary of SBus implementations
- 3.5.1.5. SBus card utilization
- 3.5.1. SBus
- 3.5.2. PCI
- 3.5.2.1. PCI bus transactions
- 3.5.2.2. CompactPCI
- 3.5.3. A Summary of Peripheral Interconnects
- 3.5.4. Interrupts in Linux
- 3.5.5. Interrupts in Solaris
- 3.6. Processor Performance Tools
- 3.6.1. The Load Average
- 3.6.2. Process Queues
- 3.6.3. Specific Breakdowns
- 3.6.4. Multiprocessor Systems
- 3.6.5. top and prstat
- 3.6.6. Lock Statistics
- 3.6.7. Controlling Processors in Solaris
- 3.6.7.1. psrinfo
- 3.6.7.2. psradm
- 3.6.7.3. psrset
- 3.6.8. Peripheral Interconnect Performance Tools
- 3.6.9. Advanced Processor Performance Statistics
- 3.7. Concluding Thoughts
- 4. Memory
- 4.1. Implementations of Physical Memory
- 4.2. Virtual Memory Architecture
- 4.2.1. Pages
- 4.2.2. Segments
- 4.2.3. Estimating Memory Requirements
- 4.2.4. Address Space Layout
- 4.2.5. The Free List
- 4.2.5.1. Virtual memory management in Linux
- 4.2.6. Page Coloring
- 4.2.7. Transaction Lookaside Buffers (TLB)
- 4.3. Paging and Swapping
- 4.3.1. The Decline and Fall of Interactive Performance
- 4.3.2. Swap Space
- 4.3.2.1. Anonymous memory
- 4.3.2.2. Sizing swap space
- 4.3.2.3. Organizing swap space
- 4.3.2.4. Swapfiles
- 4.4. Consumers of Memory
- 4.4.1. Filesystem Caching
- 4.4.2. Filesystem Cache Writes: fsflush and bdflush
- 4.4.2.1. Solaris: fsflush
- 4.4.2.2. Linux: bdflush
- 4.4.3. Interactions Between the Filesystem Cache and Memory
- 4.4.3.1. Priority paging
- 4.4.3.2. Cyclic caching
- 4.4.4. Interactions Between the Filesystem Cache and Disk
- 4.5. Tools for Memory Performance Analysis
- 4.5.1. Memory Benchmarking
- 4.5.1.1. STREAM
- 4.5.1.2. lmbench
- 4.5.1. Memory Benchmarking
- 4.5.2. Examining Memory Usage System-Wide
- 4.5.2.1. vmstat
- 4.5.2.2. sar
- 4.5.2.3. memstat
- 4.5.3. Examining Memory Usage of Processes
- 4.5.3.1. Solaris tools
- 4.5.4. Linux Tools
- 4.6. Concluding Thoughts
- 5. Disks
- 5.1. Disk Architecture
- 5.1.1. Zoned Bit Rate (ZBR) recording
- 5.1.1.1. Disk caches
- 5.1.1. Zoned Bit Rate (ZBR) recording
- 5.1.2. Access Patterns
- 5.1.3. Reads
- 5.1.4. Writes
- 5.1.4.1. UFS write throttling
- 5.1. Disk Architecture
- 5.1.5. Performance Specifications
- 5.1.5.1. One million bytes is a megabyte?
- 5.1.5.2. Burst speed versus internal transfer speed
- 5.1.5.3. Internal transfer speed versus actual speed
- 5.1.5.4. Average seek time
- 5.1.5.5. Storage capacity and access capacity
- 5.2. Interfaces
- 5.2.1. IDE
- 5.2.1.1. Improving IDE performance in Linux
- 5.2.1.2. Limitations of IDE drives
- 5.2.1. IDE
- 5.2.2. IPI
- 5.2.3. SCSI
- 5.2.3.1. Multi-initiator SCSI
- 5.2.3.2. Bus transactions
- 5.2.3.3. Synchronous versus asynchronous transfers
- 5.2.3.4. Termination
- 5.2.3.5. Command queuing
- 5.2.3.6. Differential signaling
- 5.2.3.7. Bus utilization
- 5.2.3.8. Mixing different speed SCSI devices
- 5.2.3.9. SCSI implementations
- 5.2.4. Fibre Channel
- 5.2.5. IEEE 1394 (FireWire)
- 5.2.6. Universal Serial Bus (USB)
- 5.3. Common Performance Problems
- 5.3.1. High I/O Skew
- 5.3.2. Memory-Disk Interactions
- 5.3.3. High Service Times
- 5.4. Filesystems
- 5.4.1. vnodes, inodes, and rnodes
- 5.4.1.1. The directory name lookup cache (DNLC)
- 5.4.1. vnodes, inodes, and rnodes
- 5.4.2. The Unix Filesystem (UFS)
- 5.4.2.1. inode density
- 5.4.2.2. Filesystem cluster size
- 5.4.2.3. Minimum free space
- 5.4.2.4. Rotational delay
- 5.4.2.5. fstyp and tunefs
- 5.4.2.6. Bypassing memory caching
- 5.4.2.7. The inode cache
- 5.4.2.8. The buffer cache
- 5.4.3. Logging Filesystems
- 5.4.3.1. Solstice:DiskSuite
- 5.4.3.2. Solaris
- 5.4.4. The Second Extended Filesystem (EXT2)
- 5.4.5. The Third Extended Filesystem (EXT3)
- 5.4.5.1. Tuning the elevator algorithm
- 5.4.5.2. Choosing a journaling mode
- 5.4.5.3. Transitioning from ext2 to ext3
- 5.4.6. The Reiser Filesystem (ReiserFS)
- 5.4.6.1. Tail packing
- 5.4.7. The Journaled Filesystem (JFS)
- 5.4.8. The Temporary Filesystem (tmpfs)
- 5.4.9. Veritas VxFS
- 5.4.10. Caching Filesystems (CacheFS)
- 5.4.10.1. Minimizing seek times by filesystem layout
- 5.5. Tools for Analysis
- 5.5.1. Enabling Disk Caches
- 5.5.2. Disk Performance Benchmarking
- 5.5.2.1. hdparm
- 5.5.2.2. tiobench
- 5.5.2.3. iozone
- 5.5.3. Second-Time-Through Improvements?
- 5.5.4. Using iostat
- 5.5.4.1. Historical limitations: iostat and queuing terminology
- 5.5.5. Using sar
- 5.5.6. I/O Tracing
- 5.5.6.1. Using the kernel probes
- 5.5.6.2. Using process filtering
- 5.5.6.3. Restarting prex
- 5.6. Concluding Thoughts
- 6. Disk Arrays
- 6.1. Terminology
- 6.2. RAID Levels
- 6.2.1. RAID 0: Striping
- 6.2.2. RAID 1: Mirroring
- 6.2.3. RAID 2: Hamming Code Arrays
- 6.2.4. RAID 3: Parity-Protected Striping
- 6.2.5. RAID 4: Parity-Protected Striping with Independent Disks
- 6.2.6. RAID 5: Distributed, Parity-Protected Striping
- 6.2.7. RAID 10: Mirrored Striping
- 6.3. Software Versus Hardware
- 6.3.1. Software
- 6.3.2. Hardware
- 6.3.2.1. RAID overlap
- 6.4. A Summary of Disk Array Design
- 6.4.1. Choosing a RAID Level
- 6.5. Software RAID Implementations
- 6.5.1. Solaris: Solstice DiskSuite
- 6.5.1.1. State databases
- 6.5.1.2. RAID 0: stripes
- 6.5.1.3. RAID 1: mirrors
- 6.5.1.4. RAID 5 arrays
- 6.5.1.5. Hot spare pools
- 6.5.1. Solaris: Solstice DiskSuite
- 6.5.2. Linux: md
- 6.5.2.1. Persistent superblocks
- 6.5.2.2. Chunk size
- 6.5.2.3. Linear mode
- 6.5.2.4. RAID 0: stripes
- 6.5.2.5. RAID 1: mirrors
- 6.5.2.6. RAID 5 arrays
- 6.5.2.7. Creating the array
- 6.5.2.8. Autodetection
- 6.5.2.9. Booting from an array device
- 6.6. RAID Recipes
- 6.6.1. Attribute-Intensive Home Directories
- 6.6.2. Data-Intensive Home Directories
- 6.6.3. High Performance Computing
- 6.6.4. Databases
- 6.6.5. Case Study: Applications Doing Large I/O
- 6.7. Concluding Thoughts
- 7. Networks
- 7.1. Network Principles
- 7.1.1. The OSI Model
- 7.1. Network Principles
- 7.2. Physical Media
- 7.2.1. UTP
- 7.2.1.1. A note on terminology: plugs and jacks
- 7.2.1. UTP
- 7.2.2. Fiber
- 7.3. Network Interfaces
- 7.3.1. Ethernet
- 7.3.1.1. Fundamentals of Ethernet signaling
- 7.3.1.2. Topologies
- 7.3.1.3. 10BASE-T
- 7.3.1.4. 100BASE-T4
- 7.3.1.5. 100BASE-TX
- 7.3.1.6. Gigabit Ethernet topologies
- 7.3.1.7. The 5-4-3 rule
- 7.3.1.8. Collisions
- 7.3.1.9. Autonegotiation
- 7.3.1.10. Displaying and setting modes
- 7.3.1. Ethernet
- 7.3.2. FDDI
- 7.3.3. ATM
- 7.3.4. Ethernet Versus ATM/FDDI
- 7.4. Network Protocols
- 7.4.1. IP
- 7.4.1.1. Fragmentation
- 7.4.1.2. Time-to-live
- 7.4.1.3. Protocols
- 7.4.1.4. IP addresses
- 7.4.1.5. Classful addressing
- 7.4.1.6. Subnetting classful networks
- 7.4.1.7. Moving to a classless world
- 7.4.1.8. Routing
- 7.4.1. IP
- 7.4.2. TCP
- 7.4.2.1. Connection initiation and SYN flooding
- 7.4.2.2. Path MTU discovery and the maximum segment size
- 7.4.2.3. Buffers, watermarks, and windows
- 7.4.2.4. Retransmissions
- 7.4.2.5. Deferring acknowledgments
- 7.4.2.6. Window congestion and the slow start algorithm
- 7.4.2.7. TCP timers and intervals
- 7.4.2.8. The Nagle algorithm
- 7.4.3. UDP
- 7.4.4. TCP Versus UDP for Network Transport
- 7.5. NFS
- 7.5.1. Characterizing NFS Activity
- 7.5.2. Tuning Clients
- 7.5.2.1. Obtaining statistics for an NFS-mounted filesystem
- 7.5.2.2. The rnode cache
- 7.5.2.3. Tuning NFS clients for bursty transfers
- 7.5.2.4. Tuning NFS clients for sequential transfer
- 7.5.3. Tuning Servers
- 7.5.3.1. Designing disk subsystems for NFS servers
- 7.5.3.2. NVRAM caching
- 7.5.3.3. Memory requirements
- 7.5.3.4. The two basic types of NFS servers
- 7.5.3.5. Tuning the number of NFS threads
- 7.5.3.6. Adjusting the buffer cache
- 7.5.3.7. The maxusers parameter
- 7.5.3.8. The directory name lookup cache (DNLC)
- 7.5.3.9. The inode cache
- 7.5.3.10. Observing NFS server performance with nfsstat
- 7.5.4. Wide Area Networks and NFS
- 7.6. CIFS via Unix
- 7.7. Concluding Thoughts
- 8. Code Tuning
- 8.1. The Two Critical Approaches
- 8.1.1. String Searching Algorithms
- 8.1.1.1. Algorithm 1: naive searching
- 8.1.1.2. Algorithm 2: Knuth-Morris-Pratt searching
- 8.1.1.3. Algorithm 3: Boyer-Moore searching
- 8.1.1. String Searching Algorithms
- 8.1.2. Caveats in Optimization
- 8.1. The Two Critical Approaches
- 8.2. Techniques for Code Analysis
- 8.2.1. Application Timing: time, timex, and ptime
- 8.2.1.1. time
- 8.2.1.2. timex
- 8.2.1.3. ptime
- 8.2.1.4. Mechanisms of timing
- 8.2.1. Application Timing: time, timex, and ptime
- 8.2.2. Timing-Specific Code Sections
- 8.2.2.1. Timing via gethrtime
- 8.2.2.2. Timing via the TICK register
- 8.2.3. Probe-Based Analysis: Solaris TNF
- 8.2.3.1. Inserting probes
- 8.2.3.2. Caveats
- 8.2.4. Profiler-Based Analysis: gprof
- 8.2.4.1. Implementing profiling
- 8.2.4.2. Compiling with profiling
- 8.2.4.3. Execution with profiling
- 8.2.4.4. Profile analysis
- 8.2.4.5. Caveats
- 8.3. Optimization Patterns
- 8.3.1. Arithmetic
- 8.3.2. Loops
- 8.3.3. Strings
- 8.4. Interacting with Compilers
- 8.4.1. Typical Optimizations: -fast
- 8.4.2. Optimization Level: -xO
- 8.4.3. Specifying Instruction Set Architecture: -xarch
- 8.4.4. Specifying Processor Architecture: -xchip
- 8.4.5. Function Inlining: -xinlining and -xcrossfile
- 8.4.6. Data Dependency Analysis: -xdepend
- 8.4.7. Vector Operations: -xvector
- 8.4.8. Default Floating Point Constant Size: -xsfpconst
- 8.4.9. Data Prefetching: -xprefetch
- 8.4.10. Quick and Dirty Compiler Flags
- 8.4.11. Profiling Feedback
- 8.5. Concluding Thoughts
- 9. Instant Tuning
- 9.1. Top Five Tuning Tips
- 9.1.1. Where Is the Disk Bottleneck?
- 9.1.2. Do You Have Enough Memory?
- 9.1.3. Are the Processors Overloaded?
- 9.1.4. Are Processes Blocked on Disk I/O?
- 9.1.5. Does System Time Heavily Dominate User Time?
- 9.1. Top Five Tuning Tips
- 9.2. Instant Tuning Recipes
- 9.2.1. Single-User Development Workstations
- 9.2.1.1. Filesystems
- 9.2.1.2. Swap space
- 9.2.1.3. Kernel tuning
- 9.2.1. Single-User Development Workstations
- 9.2.2. Workgroup Servers
- 9.2.2.1. Memory
- 9.2.2.2. Disks
- 9.2.2.3. Filesystems
- 9.2.2.4. Swap space
- 9.2.2.5. Optimizing NFS
- 9.2.2.6. Kernel tuning
- 9.2.3. Web Servers
- 9.2.3.1. Memory
- 9.2.3.2. Disks
- 9.2.3.3. Filesystems
- 9.2.3.4. Swap space
- 9.2.3.5. Networks
- 9.2.3.6. Kernel tuning
- 9.2.3.7. Special case: proxy servers
- About the Authors
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly
O'Reilly Media - inne książki
-
JavaScript gives web developers great power to create rich interactive browser experiences, and much of that power is provided by the browser itself. Modern web APIs enable web-based applications to come to life like never before, supporting actions that once required browser plug-ins. Some are s...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
How will software development and operations have to change to meet the sustainability and green needs of the planet? And what does that imply for development organizations? In this eye-opening book, sustainable software advocates Anne Currie, Sarah Hsu, and Sara Bergman provide a unique overview...(160.65 zł najniższa cena z 30 dni)
177.65 zł
209.00 zł(-15%) -
OpenTelemetry is a revolution in observability data. Instead of running multiple uncoordinated pipelines, OpenTelemetry provides users with a single integrated stream of data, providing multiple sources of high-quality telemetry data: tracing, metrics, logs, RUM, eBPF, and more. This practical gu...(143.65 zł najniższa cena z 30 dni)
152.15 zł
179.00 zł(-15%) -
Interested in developing embedded systems? Since they don't tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate good development practices based on classic software design patterns and new patterns unique to embedded prog...(152.15 zł najniższa cena z 30 dni)
160.65 zł
189.00 zł(-15%) -
If you use Linux in your day-to-day work, then Linux Pocket Guide is the perfect on-the-job reference. This thoroughly updated 20th anniversary edition explains more than 200 Linux commands, including new commands for file handling, package management, version control, file format conversions, an...(92.65 zł najniższa cena z 30 dni)
101.15 zł
119.00 zł(-15%) -
Gain the valuable skills and techniques you need to accelerate the delivery of machine learning solutions. With this practical guide, data scientists, ML engineers, and their leaders will learn how to bridge the gap between data science and Lean product delivery in a practical and simple way. Dav...(245.65 zł najniższa cena z 30 dni)
245.65 zł
289.00 zł(-15%) -
This practical book provides a detailed explanation of the zero trust security model. Zero trust is a security paradigm shift that eliminates the concept of traditional perimeter-based security and requires you to "always assume breach" and "never trust but always verify." The updated edition off...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Decentralized finance (DeFi) is a rapidly growing field in fintech, having grown from $700 million to $100 billion over the past three years alone. But the lack of reliable information makes this area both risky and murky. In this practical book, experienced securities attorney Alexandra Damsker ...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Whether you're a startup founder trying to disrupt an industry or an entrepreneur trying to provoke change from within, your biggest challenge is creating a product people actually want. Lean Analytics steers you in the right direction.This book shows you how to validate your initial idea, find t...(126.65 zł najniższa cena z 30 dni)
126.65 zł
149.00 zł(-15%) -
When it comes to building user interfaces on the web, React enables web developers to unlock a new world of possibilities. This practical book helps you take a deep dive into fundamental concepts of this JavaScript library, including JSX syntax and advanced patterns, the virtual DOM, React reconc...(194.65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: System Performance Tuning. 2nd Edition Gian-Paolo D. Musumeci, Mike Loukides (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.