software performance and scalability

401 749 0
software performance and scalability

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

www.it-ebooks.info www.it-ebooks.info Software Performance and Scalability www.it-ebooks.info Press Operating Committee Chair Linda Shafer former Director, Software Quality Institute The University of Texas at Austin Editor-in-Chief Alan Clements Professor University of Teesside Board Members David Anderson, Principal Lecturer, University of Portsmouth Mark J. Christensen, Independent Consultant James Conrad, Associate Professor, UNC Charlotte Michael G. Hinchey, Director, Software Engineering Laboratory, NASA Goddard Space Flight Center Phillip Laplante, Associate Professor, Software Engineering, Penn State University Richard Thayer, Professor Emeritus, California State University, Sacramento Donald F. Shafer, Chief Technology Officer, Athens Group, Inc. Janet Wilson, Product Manager, CS Press IEEE Computer Society Publications The world-renowned IEEE Computer Society publishes, promotes, and distributes a wide variety of authoritative computer science and engineering texts. These books are available from most retail outlets. Visit the CS Store at http://computer.org/cspress for a list of products. IEEE Computer Society / Wiley Partnership The IEEE Computer Society and Wiley partnership allows the CS Press authored book program to produce a number of exciting new titles in areas of computer science, computing and networking with a special focus on software engineering. IEEE Computer Society members continue to receive a 15% discount on these titles when purchased through Wiley or at wiley.com/ieeecs. To submit questions about the program or send proposals e-mail j.wilson@computer.org. Telephone þ1-714-821-8380. Additional information regarding the Computer Society authored book program can also be accessed from our web site at http://computer.org/cspress. www.it-ebooks.info Software Performance and Scalability A Quantitative Approach Henry H. Liu www.it-ebooks.info Copyright # 2009 by IEEE Computer Society. All rights reserved. Published by John Wiley & Sons, Inc., Hoboken, New Jersey Published simultaneously in Canada No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written per- mission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 750-4470, or on the web at www.copyright.com. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permission. Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Neither the publisher nor author shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages. For general information on our other products and services or for technical support, please contact our Customer Care Department within the United States at (800) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002. Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic formats. For more information about Wiley products, visit our web site at www.wiley.com. Library of Congress Cataloging-in-Publication Data: Liu, Henry H. Software performance and scalability : a quantitative approach/Henry H. Liu p. cm. Includes bibliographical references and index. ISBN 978-0-470-46253-9 (cloth) 1. Computer software—Development. 2. System design. I. Title. QA76.76.D47L577 2009 005.1—dc22 2009005654 Printed in the United States of America 10987654321 www.it-ebooks.info To my family www.it-ebooks.info www.it-ebooks.info Contents PREFACE xv ACKNOWLEDGMENTS xxi Introduction 1 Performance versus Scalability / 1 PART 1 THE BASICS 3 1. Hardware Platform 5 1.1 Turing Machine / 6 1.2 von Neumann Machine / 7 1.3 Zuse Machine / 8 1.4 Intel Machine / 9 1.4.1 History of Intel’s Chips / 9 1.4.2 Hyperthreading / 9 1.4.3 Intel’s Multicore Microarchitecture / 13 1.4.4 Challenges for System Monitoring Tools / 17 1.5 Sun Machine / 17 1.6 System Under Test / 18 1.6.1 Processors / 18 1.6.2 Motherboard / 19 1.6.3 Chipset / 20 vii www.it-ebooks.info 1.6.4 Storage / 22 1.6.5 RAID / 24 1.6.6 Networking / 27 1.6.7 Operating System / 29 1.7 Odds Against Turing / 30 1.7.1 Memory Leaks / 30 1.7.2 SLAs / 35 1.8 Sizing Hardware / 35 1.9 Summary / 37 Recommended Reading / 37 Exercises / 38 2. Software Platform 41 2.1 Software Stack / 42 2.2 APIs / 44 2.2.1 Windows APIs / 45 2.2.2 Java APIs / 45 2.2.3 Google APIs / 46 2.3 Multithreading / 47 2.4 Categorizing Software / 53 2.4.1 Systems Software / 53 2.4.2 Application Software / 54 2.4.3 Middleware Software / 55 2.5 Enterprise Computing / 55 2.5.1 What Is Enterprise Software? / 55 2.5.2 Enterprise Software Architecture / 57 2.5.3 Monolithic Architecture / 57 2.5.4 Client/Server Architecture / 58 2.5.5 Three-Tier Architecture / 59 2.5.6 N-Tier Architecture / 60 2.5.7 Software Componentry / 61 2.5.8 Service-Oriented Architecture / 61 2.6 Summary / 63 Recommended Reading / 64 Exercises / 64 3. T esting Software Performance and Scalability 65 3.1 Scope of Software Performance and Scalability Testing / 67 3.1.1 Performance Regression Testing / 68 3.1.2 Performance Optimization and Tuning Testing / 70 3.1.3 Performance Benchmarking Testing / 75 viii CONTENTS www.it-ebooks.info [...]... Applied to Optimizing and Tuning Software Performance and Scalability 205 Analyzing Software Performance and Scalability / 207 6.1.1 Characterizing Performance and Scalability Problems / 207 6.1.2 Isolating Performance and Scalability Factors / 208 6.1.3 Applying Optimization and Tuning / 215 6.2 Effective Optimization and Tuning Techniques / 220 6.2.1 Wait Events and Service Demands / 221 6.2.2 Array... IS ORGANIZED Software Performance and Scalability: A Quantitative Approach is the first book to focus on software performance and scalability in a quantitative approach It introduces the basic concepts and principles behind the physics of software performance and scalability from a practical point of view It demonstrates how the performance and scalability of your products can be optimized and tuned using... predetermine the performance and scalability of a software product It concludes with how to test quantitatively the performance and scalability of a software product Through quantitative measurements, you can determine not only which hardware and software platforms can deliver the required performance and scalability for your products, but also how to optimize and tune the performance and scalability of... that performance and scalability issues are dealt with properly, as it may easily exclude software developers from taking performance and scalability concerns into account in the first place It’s a reactive and less efficient approach to let the performance and scalability test engineers find the performance and scalability defects and then fix them with the developers It’s a lot more costly to fix software. .. Anonymous PERFORMANCE VERSUS SCALABILITY Before we start, I think I owe you an explanation about what the difference is between performance and scalability for a software system In a word, performance and scalability are about the scalable performance for a software system You might find different explanations about performance versus scalability from other sources In my opinion, performance and scalability. .. them get up to speed quickly in helping resolve software performance and scalability issues they discover through their tests Software performance managers and development managers who are interested in understanding software performance and scalability problems at a high level so that they can lead more effectively in getting various performance and scalability defects resolved in time xviii † PREFACE... servers, and any other types of thirdparty components, then the performance and scalability of such middleware systems can directly affect the performance and scalability of the application system Understanding the performance and scalability of a software system qualitatively should begin with a solid understanding of all the performance bits built into the modern computer systems as well as all the performance. .. costly to fix software performance and scalability defects without having the developers take care of them in the first place That’s the motivation behind this book, which promotes a proactive approach of letting the software developers build the performance and scalability into the product and letting the performance and scalability test engineers concentrate on the performance and scalability verification... spirit, which gives me the power and energy for pursuing every challenging software performance and scalability problem quantitatively, and thus this book Software Performance and Scalability: A Quantitative Approach With my career as a software performance professional, I’d like to especially thank Pat Crain, who introduced me to applying queuing theory to solving software performance challenges Pat also... probability and statistics Many books available today on the subject of software performance and scalability do not provide the same level of quantitativeness, which is one of the most distinctive merits of this book In my opinion, quantitativeness is a requirement for dealing with software performance and scalability issues, as performance and scalability are quantitatively measurable attributes of a software . Scalability 205 6.1 Analyzing Software Performance and Scalability / 207 6.1.1 Characterizing Performance and Scalability Problems / 207 6.1.2 Isolating Performance and Scalability Factors / 208 6.1.3. of letting the software developers build the performance and scalability into the product and letting the performance and scalability test engineers concentrate on the perform- ance and scalability. knowledge and experience in software performance and scalability, fewer defects will slip out of their hands into the builds they deliver. † Software engineers who conduct the performance and scalability

Ngày đăng: 24/04/2014, 16:06

Từ khóa liên quan

Mục lục

  • Software Performance and Scalability

    • Contents

    • PREFACE

    • ACKNOWLEDGMENTS

    • Introduction

      • Performance versus Scalability

      • PART 1 THE BASICS

        • 1. Hardware Platform

          • 1.1 Turing Machine

          • 1.2 von Neumann Machine

          • 1.3 Zuse Machine

          • 1.4 Intel Machine

            • 1.4.1 History of Intel’s Chips

            • 1.4.2 Hyperthreading

            • 1.4.3 Intel’s Multicore Microarchitecture

            • 1.4.4 Challenges for System Monitoring Tools

            • 1.5 Sun Machine

            • 1.6 System Under Test

              • 1.6.1 Processors

              • 1.6.2 Motherboard

              • 1.6.3 Chipset

              • 1.6.4 Storage

              • 1.6.5 RAID

              • 1.6.6 Networking

              • 1.6.7 Operating System

              • 1.7 Odds Against Turing

                • 1.7.1 Memory Leaks

Tài liệu cùng người dùng

Tài liệu liên quan