{"product_id":"solving-enterprise-applications-performance-puzzles-queuing-models-to-the-rescue-paperback-softback-9781118061572","title":"Solving Enterprise Applications Performance Puzzles; Queuing Models to the Rescue (Paperback \/ softback) 9781118061572","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eSolving Enterprise Applications Performance Puzzles\u003c\/font\u003e\u003cbr\u003e\r\n\u003cfont size=\"5\"\u003eQueuing Models to the Rescue\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cem\u003e\u003ci\u003eSolving Enterprise Applications Performance Puzzles : Queuing Models to the Rescue\u003c\/i\u003e by Leonid Grinshpan is a pretty interesting book about application of queuing models to solving enterprise performance and I believe the book fills a few gaps in practical application of queuing theory. Another good name for this book could be “Building queuing models by example”.  \u003cp\u003eI spent a lot of time trying to use queuing models to solve practical performance issues and would testify that it is pretty challenging. There are a few areas where it was developed a little further (for example, around capacity planning of existing systems), but if you trying to do something else – you won’t find much help. You have a lot of books about systems performance, you have a lot of books about queuing theory with simple examples, but not much in between to solve practical tasks. And here Leonid’s book may help, especially if you are new in this area.\u003c\/p\u003e \u003cp\u003eChapter 1, Queuing Networks as Applications Models, is an introduction into the topic. It discusses how queuing theory may be used to model enterprise applications. A lot of analogues are used to introduce the subject.\u003c\/p\u003e \u003cp\u003eChapter 2, Building and Solving Application Models, is an overview of the whole process, including short discussions about essentials of queuing theory and using of tools to solve models.\u003c\/p\u003e \u003cp\u003eChapter 3, Workload Characterization and Transaction Profiling, discusses what input data for models are and how to gather them.\u003c\/p\u003e \u003cp\u003eChapter 4, Servers, CPUs, and Other Building Blocks of Application Scalability, discusses scalability, bottlenecks, how to identify bottlenecks and ways to fix them (mostly on CPU and I\/O examples).\u003c\/p\u003e \u003cp\u003eChapter 5, Operating System Overheads, discusses main components of operating systems, where overheads come from, how to measure them, and their impact on transaction time.\u003c\/p\u003e \u003cp\u003eChapter 6, Software Bottlenecks, is devoted to software bottlenecks, which are rarely discussed in application to queuing models – while in practice software bottlenecks happen all the time. Memory bottlenecks and thread optimizations and their modeling are discussed in details. Multiple other software bottlenecks are also reviewed.\u003c\/p\u003e \u003cp\u003eChapter 7, Performance and Capacity of Virtual Systems, is an overview of performance issues related to virtualization , their explanation with queuing theory, and a methodology of virtual machine sizing.\u003c\/p\u003e \u003cp\u003eChapter 8, Model-Based Application Sizing: Say Good-Bye to guessing, explains why to use model-based sizing and discusses it step-by-step from gathering input data to model deliverables and what-if scenarios.\u003c\/p\u003e \u003cp\u003eChapter 9, Modeling Different Application Configurations, discusses several specials cases including geographical distribution of users, cross-platform modeling, remote terminal services, load balancing, and parallelization of transactions.\u003c\/p\u003e \u003cp\u003eThe book covers a lot of topics. However, to avoid disappointments, I’d like to point out what this book is not:\u003c\/p\u003e \u003cp\u003e- It is not a textbook about queuing theory. The section 2.2 Essentials of Queuing Networks Theory has 5 pages in it.\u003c\/p\u003e \u003cp\u003e- It is not a book about tools to solve queuing models. Available tools are listed and there are references, but they are just mentioned as a way to solve models (with one tool used as an illustration of the process). You don’t need to know any tool to read the book (but you will need one when you try to solve your own models).\u003c\/p\u003e \u003cp\u003e- It is not a comprehensive book about enterprise application performance. There is plenty of important information and practical recommendations about enterprise application performance in the book, but it is shared as needed to build models and analyze their results.\u003c\/p\u003e \u003cp\u003eSo the book is exactly what the title says: a practical book about building queuing models to investigate enterprise applications performance issues.\u003c\/p\u003e \u003cp\u003e- Alexander Podelko, Oracle\u003c\/p\u003e\u003c\/em\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003cp\u003e\u003cfont size=\"4\"\u003eLeonid Grinshpan (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781118061572, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 6 March 2012\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e256 pages, Screen captures: 30 B\u0026amp;W, 0 Color; Graphs: 50 B\u0026amp;W, 0 Color\u003cbr\u003e23.6 x 15.7 x 1.4 cm, 0.363 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003ePoorly performing enterprise applications are the weakest links in a corporation's management chain, causing delays and disruptions of critical business functions. This groundbreaking book frames enterprise application performance engineering not as an art but as applied science built on model-based methodological foundation. The book introduces queuing models of enterprise application that visualize, demystify, explain, and solve system performance issues. Analysis of these models will help to discover and clarify unapparent connections and correlations among workloads, hardware architecture, and software parameters.\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eAcknowledgments ix\u003c\/p\u003e \u003cp\u003ePreface xi\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1. Queuing Networks as Applications Models 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1. Enterprise Applications—What Do They Have in Common? 1\u003c\/p\u003e \u003cp\u003e1.2. Key Performance Indicator—Transaction Time 6\u003c\/p\u003e \u003cp\u003e1.3. What Is Application Tuning and Sizing? 8\u003c\/p\u003e \u003cp\u003e1.4. Queuing Models of Enterprise Application 9\u003c\/p\u003e \u003cp\u003e1.5. Transaction Response Time and Transaction Profile 19\u003c\/p\u003e \u003cp\u003e1.6. Network of Highways as an Analogy of the Queuing Model 22\u003c\/p\u003e \u003cp\u003eTake Away from the Chapter 24\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2. Building and Solving Application Models 25\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1. Building Models 25\u003c\/p\u003e \u003cp\u003eHardware Specification 26\u003c\/p\u003e \u003cp\u003eModel Topology 28\u003c\/p\u003e \u003cp\u003eA Model’s Input Data 29\u003c\/p\u003e \u003cp\u003eModel Calibration 31\u003c\/p\u003e \u003cp\u003e2.2. Essentials of Queuing Networks Theory 34\u003c\/p\u003e \u003cp\u003e2.3. Solving Models 39\u003c\/p\u003e \u003cp\u003e2.4. Interpretation of Modeling Results 47\u003c\/p\u003e \u003cp\u003eHardware Utilization 47\u003c\/p\u003e \u003cp\u003eServer Queue Length, Transaction Time, System Throughput 51\u003c\/p\u003e \u003cp\u003eTake Away from the Chapter 54\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3. Workload Characterization and Transaction Profiling 57\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1. What Is Application Workload? 57\u003c\/p\u003e \u003cp\u003e3.2. Workload Characterization 60\u003c\/p\u003e \u003cp\u003eTransaction Rate and User Think Time 61\u003c\/p\u003e \u003cp\u003eThink Time Model 65\u003c\/p\u003e \u003cp\u003eTake Away from the Think Time Model 68\u003c\/p\u003e \u003cp\u003eWorkload Deviations 68\u003c\/p\u003e \u003cp\u003e“Garbage in Garbage out” Models 68\u003c\/p\u003e \u003cp\u003eRealistic Workload 69\u003c\/p\u003e \u003cp\u003eUsers’ Redistribution 72\u003c\/p\u003e \u003cp\u003eChanging Number of Users 72\u003c\/p\u003e \u003cp\u003eTransaction Rate Variation 75\u003c\/p\u003e \u003cp\u003eTake Away from “Garbage in Garbage out” Models 78\u003c\/p\u003e \u003cp\u003eNumber of Application Users 78\u003c\/p\u003e \u003cp\u003eUser Concurrency Model 80\u003c\/p\u003e \u003cp\u003eTake Away from User Concurrency Model 81\u003c\/p\u003e \u003cp\u003e3.3. Business Process Analysis 81\u003c\/p\u003e \u003cp\u003e3.4. Mining Transactional Data from Production Applications 88\u003c\/p\u003e \u003cp\u003eProfiling Transactions Using Operating System Monitors and Utilities 88\u003c\/p\u003e \u003cp\u003eApplication Log Files 90\u003c\/p\u003e \u003cp\u003eTransaction Monitors 91\u003c\/p\u003e \u003cp\u003eTake Away from the Chapter 93\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4. Servers CPUs and Other Building Blocks of Application Scalability 94\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1. Application Scalability 94\u003c\/p\u003e \u003cp\u003e4.2. Bottleneck Identification 95\u003c\/p\u003e \u003cp\u003eCPU Bottleneck 97\u003c\/p\u003e \u003cp\u003eCPU Bottleneck Models 97\u003c\/p\u003e \u003cp\u003eCPU Bottleneck Identification 97\u003c\/p\u003e \u003cp\u003eAdditional CPUs 100\u003c\/p\u003e \u003cp\u003eAdditional Servers 100\u003c\/p\u003e \u003cp\u003eFaster CPUs 100\u003c\/p\u003e \u003cp\u003eTake Away from the CPU Bottleneck Model 104\u003c\/p\u003e \u003cp\u003eI\/O Bottleneck 105\u003c\/p\u003e \u003cp\u003eI\/O Bottleneck Models 106\u003c\/p\u003e \u003cp\u003eI\/O Bottleneck Identification 106\u003c\/p\u003e \u003cp\u003eAdditional Disks 107\u003c\/p\u003e \u003cp\u003eFaster Disks 108\u003c\/p\u003e \u003cp\u003eTake Away from the I\/O Bottleneck Model 111\u003c\/p\u003e \u003cp\u003eTake Away from the Chapter 113\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5. Operating System Overhead 114\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1. Components of an Operating System 114\u003c\/p\u003e \u003cp\u003e5.2. Operating System Overhead 118\u003c\/p\u003e \u003cp\u003eSystem Time Models 122\u003c\/p\u003e \u003cp\u003eImpact of System Overhead on Transaction Time 123\u003c\/p\u003e \u003cp\u003eImpact of System Overhead on Hardware Utilization 124\u003c\/p\u003e \u003cp\u003eTake Away from the Chapter 125\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6. Software Bottlenecks 127\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1. What Is a Software Bottleneck? 127\u003c\/p\u003e \u003cp\u003e6.2. Memory Bottleneck 131\u003c\/p\u003e \u003cp\u003eMemory Bottleneck Models 133\u003c\/p\u003e \u003cp\u003ePreset Upper Memory Limit 133\u003c\/p\u003e \u003cp\u003ePaging Effect 138\u003c\/p\u003e \u003cp\u003eTake Away from the Memory Bottleneck Model 143\u003c\/p\u003e \u003cp\u003e6.3. Thread Optimization 144\u003c\/p\u003e \u003cp\u003eThread Optimization Models 145\u003c\/p\u003e \u003cp\u003eThread Bottleneck Identification 145\u003c\/p\u003e \u003cp\u003eCorrelation Among Transaction Time, CPU Utilization, and the Number of Threads 148\u003c\/p\u003e \u003cp\u003eOptimal Number of Threads 150\u003c\/p\u003e \u003cp\u003eTake Away from Thread Optimization Model 151\u003c\/p\u003e \u003cp\u003e6.4. Other Causes of Software Bottlenecks 152\u003c\/p\u003e \u003cp\u003eTransaction Affinity 152\u003c\/p\u003e \u003cp\u003eConnections to Database; User Sessions 152\u003c\/p\u003e \u003cp\u003eLimited Wait Time and Limited Wait Space 154\u003c\/p\u003e \u003cp\u003eSoftware Locks 155\u003c\/p\u003e \u003cp\u003eTake Away from the Chapter 155\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7. Performance and Capacity of Virtual Systems 157\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1. What Is Virtualization? 157\u003c\/p\u003e \u003cp\u003e7.2. Hardware Virtualization 160\u003c\/p\u003e \u003cp\u003eNon-Virtualized Hosts 161\u003c\/p\u003e \u003cp\u003eVirtualized Hosts 165\u003c\/p\u003e \u003cp\u003eQueuing Theory Explains It All 167\u003c\/p\u003e \u003cp\u003eVirtualized Hosts Sizing After Lesson Learned 169\u003c\/p\u003e \u003cp\u003e7.3. Methodology of Virtual Machines Sizing 171\u003c\/p\u003e \u003cp\u003eTake Away from the Chapter 172\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8. Model-Based Application Sizing: Say Good-Bye to Guessing 173\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1. Why Model-Based Sizing? 173\u003c\/p\u003e \u003cp\u003e8.2. A Model’s Input Data 177\u003c\/p\u003e \u003cp\u003eWorkload and Expected Transaction Time 177\u003c\/p\u003e \u003cp\u003eHow to Obtain a Transaction Profile 179\u003c\/p\u003e \u003cp\u003eHardware Platform 182\u003c\/p\u003e \u003cp\u003e8.3. Mapping a System into a Model 186\u003c\/p\u003e \u003cp\u003e8.4. Model Deliverables and What-If Scenarios 188\u003c\/p\u003e \u003cp\u003eTake Away from the Chapter 193\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9. Modeling Different Application Configurations 194\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1. Geographical Distribution of Users 194\u003c\/p\u003e \u003cp\u003eRemote Office Models 196\u003c\/p\u003e \u003cp\u003eUsers’ Locations 196\u003c\/p\u003e \u003cp\u003eNetwork Latency 197\u003c\/p\u003e \u003cp\u003eTake Away from Remote Office Models 198\u003c\/p\u003e \u003cp\u003e9.2. Accounting for the Time on End-User Computers 198\u003c\/p\u003e \u003cp\u003e9.3. Remote Terminal Services 200\u003c\/p\u003e \u003cp\u003e9.4. Cross-Platform Modeling 201\u003c\/p\u003e \u003cp\u003e9.5. Load Balancing and Server Farms 203\u003c\/p\u003e \u003cp\u003e9.6. Transaction Parallel Processing Models 205\u003c\/p\u003e \u003cp\u003eConcurrent Transaction Processing by a Few Servers 205\u003c\/p\u003e \u003cp\u003eConcurrent Transaction Processing by the Same Server 209\u003c\/p\u003e \u003cp\u003eTake Away from Transaction Parallel Processing Models 213\u003c\/p\u003e \u003cp\u003eTake Away from the Chapter 214\u003c\/p\u003e \u003cp\u003eGlossary 215\u003c\/p\u003e \u003cp\u003eReferences 220\u003c\/p\u003e \u003cp\u003eIndex 223\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Electronics \u0026amp; communications engineering [\u003ca title=\"See our other books on Electronics \u0026amp; communications engineering\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Electronics%20\u0026amp;%20communications%20engineering%20%5BTJ%5D%22\"\u003eTJ\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wiley-IEEE Press","offers":[{"title":"Brand New","offer_id":52417750106392,"sku":"9781118061572","price":62.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781118061572.jpg?v=1784506415","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/solving-enterprise-applications-performance-puzzles-queuing-models-to-the-rescue-paperback-softback-9781118061572","provider":"Freshly Printed Books","version":"1.0","type":"link"}