i Integrated Approach to Web Performance Testing: A Practitioners Guide B M Subraya Infosys Technologies Limited, Mysore, India IRM Press Publisher of innovative scholarly and professional information technology titles in the cyberage Hershey • London • Melbourne • Singapore ii Acquisitions Editor: Development Editor: Senior Managing Editor: Managing Editor: Copy Editor: Typesetter: Cover Design: Printed at: Michelle Potter Kristin Roth Amanda Appicello Jennifer Neidig April Schmidt Jennifer Neidig Lisa Tosheff Integrated Book Technology Published in the United States of America by IRM Press (an imprint of Idea Group Inc.) 701 E Chocolate Avenue, Suite 200 Hershey PA 17033-1240 Tel: 717-533-8845 Fax: 717-533-8661 E-mail: cust@idea-group.com Web site: http://www.irm-press.com and in the United Kingdom by IRM Press (an imprint of Idea Group Inc.) Henrietta Street Covent Garden London WC2E 8LU Tel: 44 20 7240 0856 Fax: 44 20 7379 0609 Web site: http://www.eurospanonline.com Copyright © 2006 by Idea Group Inc All rights reserved No part of this book may be reproduced, stored or distributed in any form or by any means, electronic or mechanical, including photocopying, without written permission from the publisher Product or company names used in this book are for identification purposes only Inclusion of the names of the products or companies does not indicate a claim of ownership by IGI of the trademark or registered trademark Library of Congress Cataloging-in-Publication Data Integrated approach to web performance testing : a practitioner's guide / B.M Subraya, editor p cm Includes bibliographical references and index Summary: "This book provides an integrated approach and guidelines to performance testing of Web based systems" Provided by publisher ISBN 1-59140-785-0 (hbk.) ISBN 1-59140-786-9 (pbk.) ISBN 1-59140-787-7 (ebook) Web services Application software Development Computer software Testing I Subraya, B M., 1954- TK5105.88813.I55 2005 006.7 dc22 2005023877 British Cataloguing in Publication Data A Cataloguing in Publication record for this book is available from the British Library All work contributed to this book is new, previously-unpublished material The views expressed in this book are those of the authors, but not necessarily of the publisher iii Integrated Approach to Web Performance Testing: A Practitioners Guide Table of Contents Chapter Web-Based Systems and Performance Testing Web Systems and Poor Performance Classification of Web Sites The Need for Performance Testing General Perception about Performance Testing 12 Performance Testing: “LESS” Approach 14 Difference between the Components of LESS 18 Performance Testing Life Cycle 21 Performance Testing vs Functional Testing 22 Chapter Performance Testing: Factors that Impact Performance 29 Project Peculiarities 29 Technical Peculiarities 31 Web Site Contents 32 Client Environment 34 Server Environment 36 Network Environment 43 Web Caching 45 Challenges Ahead 48 Chapter Performance Testing: Reference Technology and Languages 52 Client Server and Web-Based Technology 52 Web Server and Application Server 56 Evolution of Multi-Tier Architecture 62 Scripting Languages for Web-Based Applications 68 Meeting the Challenges 73 iv Chapter Test Preparation Phase I: Test Definition 77 Need for Test Definition Phase 77 Peformance Requirements and Their Importance 79 Business Functions Related Performance Requirement 80 Infrastructure and Network Environment 85 Explicitly Specified Requirements for Performance 88 Developing Performance Test Strategy Document 92 Chapter Test Preparation Phase II: Test Design 102 Importance of Test Design Phase 102 Benchmark Requirements 104 Developing a Workload 111 Sequencing Transactions 119 Selection of Tools 122 Chapter Test Preparation Phase III: Test Build 124 Developing the Performance Test Plan 124 Working with the Proper Testing Environment 126 Challenges in Creating a Simulated Environment 136 Developing Test Scripts 138 Preparing the Test Schedule 141 Defining the Testing Process 141 Analysis of Risk Factors 143 Chapter Performance Test Execution Phase 148 Entry Criteria 148 Exit Criteria 152 Elaboration Testing 156 Self Satisfaction Test (SST) 157 Multiple Test Runs 158 Challenges in Test Execution 160 Guidelines for Test Execution 163 Chapter Post Test Execution Phase 167 Objectives of the Analysis Phase 168 Analysis Process 168 Analyze Test Logs 169 Verifying Pass or Fail Criteria 172 Test Reports 173 Areas of Improvement 185 Tuning Process 187 Guidelines for Performance Tuning 195 v Chapter Performance Test Automation 201 Performance Test Automation Process 202 Preparation Phase 203 Planning Phase 216 Execution Phase 224 Postexecution Phase 226 Chapter 10 Introduction to Performance Monitoring and Tuning: Java and NET 234 Areas of Bottlenecks in Web-Based Applications 235 Performance Counters in the Operating System 236 Performance Monitoring and Tuning in UNIX 237 Performance Monitoring and Tuning in Windows 2000 241 Architectural Similarities between Java and NET 242 General Guidelines for Performance Monitoring 245 Performance Monitoring and Tuning: Java 247 Performance Monitoring and Tuning: NET 253 NET Framework Tuning 259 Coding Guidelines 266 Appendix Section 270 Glossary 347 About the Author 360 Index 361 vi Foreword Globalization, aided by technology innovation and newer, faster communication channels are changing the basis of competition across industries today To compete, firms must rapidly respond and adapt to a changing market and create responsive, flexible links across their value chains In this environment, the advent of Web-based systems has created a range of opportunities for organizations Web-based systems and applications are enabling businesses to improve workflow costs and efficiencies across their supply chains, streamline and integrate their business processes, and collaborate with value-chain partners to deliver a strong value proposition to their customers Ensuring the robustness and reliability of Web-enabled systems has, therefore, become an increasingly critical function Integrated Approach to Web Performance Testing: A Practitioner’s Guide addresses the realities of performance testing in Web systems and provides an approach for integrating testing with the software development life cycle By offering a mix of theory and practical examples, Subraya provides the reader with a detailed understanding of performance testing issues in a Web environment He offers an experience-based guidance of the testing process, detailing the approach from the definition of test requirements to design, simulation and vii benchmarking, and building, executing and analyzing testing strategies and plans The book also details key processes and issues involved in test automation, as well as performance monitoring and tuning for specific technologies The chapters are filled with real-life examples, as well as illustrative working code, to facilitate the reader’s understanding of different facets of the testing process The discussion of testing methodology is anchored by a running case study which helps illustrate the application of test plans, strategies, and techniques The case study and examples help demonstrate various approaches in developing performance testing strategies, benchmark designs, operation profiles and workloads By bringing an experiential understanding into aspects of Web performance testing, the author is able to offer useful tips to effectively plan and execute testing activity In addition, the book offers various guidelines and checklists to help practitioners conduct and analyze results using the various testing tools available for Web based applications The book provides a highly systematic approach to performance testing and offers an expert’s eye view of the testing and functionality of Web systems Subraya is careful to provide broad, initial groundwork for the subject in his first three chapters, which makes this text accessible even to the beginner Integrated Approach to Web Performance Testing: A Practitioner’s Guide will prove to be a valuable tool for testing professionals, as well as for students, academicians and researchers N R Narayana Murthy, Chairman and Chief Mentor Infosys Technologies Ltd viii Preface In the current scenario where Information and Communication Technology (ICT) integration has become affordable, most organizations are looking at every single application to be Web-enabled The functional aspects of an application get reasonable treatment, and also abundant literature is available for the same, whereas no books or insufficient literature is available on the performance aspects of such applications However, the requirement for developing or creating systems that perform well in the Web commerce scenario is uncontestable The proliferation of Internet applications in recent years is a testimony to the evolving demands of business on technology However, software life cycle methodologies not yet seem to consider application performance as a critical parameter until late in the developmental process Often, this impacts cost and delivery schedules negatively, leading to extensive rework and also results in unsatisfactory application performance In addition, the field of performance testing is still in its infancy, and the various activities involved not seem to be well understood among practitioners Today, Web based software systems are both popular and pervasive across the world in most areas of business as well as in personal life However, the software system development processes and the performance testing processes not seem to be well integrated in terms of ensuring adequate match between required and actual performance, especially since the latter activity is usually carried out very late in the developmental life cycle Further, for practitioners, it is critical to understand the intricacies of environments, platforms, and tech- ix nologies and their impact on the application performance Given the wide spectrum of technologies and tools employed in the implementation of systems for different platforms, and a variety of tools used for performance testing, it is important to understand which of the parameters associated with each one of these is significant in terms of their effect on the system performance This book fulfills this void and provides an integrated approach and guidelines to performance testing of Web based systems Based upon a mix of theoretical and practical concepts, this work provides a detailed understanding of the various aspects of performance testing in relation to the different phases of the software development life cycle, using a rich mixture of examples, checklists, templates, and working code to illustrate the different facets of application performance This book enables a practical approach to be adapted in making appropriate choices of tools, methodologies, and project management for performance testing The material presented in the book is substantially based on the experience gained by studying performance testing issues in more than 20 IT application development projects for leading global/fortune 500 clients at Infosys Technologies Limited (a leading CMM level-5 global company specializing in software consulting, www.infosys.com) since 2000 This has been further reinforced through the delivery of more than 10 international preconference tutorials and more than 18 internal workshops at Infosys Research studies conducted in this area by me has led to eight publications in various national and international conferences Feedback from participants in tutorials and workshops in addition to those from reviewers has been used extensively to continuously refine the concepts, examples, case studies, and so forth presented in the work to make it useful for designers and architects Using a running case study, this book elucidates the concept of performance life cycle for applications in relation to the development life cycle; this is subsequently specialized through an identification of performance related activities corresponding to each stage of the developmental life cycle Performance test results from the case study are discussed in detail to illustrate various aspects of application performance in relation to hardware resources, network bandwidth, and the effects of layering in the application Finally, guidelines, checklists, and tips are provided to help practitioners address, plan, schedule, conduct, and analyze performance test results using commonly available commercial performance testing tools for applications built with different technologies on different platforms, together with enabling them to identify and resolve bottlenecks in application performance This book is written primarily for technical architects, analysts, project managers, and software professionals who are involved in development and management of projects By using various techniques described in this book, they can systematically improve the planning and execution of their performance testing 356 Glossary Process – A program that is running A process is the active element in a computer Terminals, files, and other I/O devices communicate with each other through processes Thus, network communications are interprocess communications (that is, communication between processes) Processor – Also known as the CPU (central processing unit) The CPU is the brains of the computer because it performs most of the calculations to run programs and allows the performance work on the machine In terms of computing power, the CPU is the most important element of a computer system Q Quality – The totality of features and characteristics of a product or service that bear on its ability to satisfy stated or implied needs Queue – A list that allows additions at one end and deletions at the opposite end Items in a queue are usually processed on the first in, first out (FIFO) principle, in that the first item entered is the first item to be processed R Redundant Array of Independent Disks (RAID) – A data storage method in which data, along with information used for error correction such as parity bits, is distributed among two or more hard disk drives to improve performance and reliability The hard disk array is governed by array management software and a disk controller, which handles the error correction RAID is generally used on network servers Regression Testing – The selective retesting of a software system that has been modified to ensure that any bugs have been fixed and that no other previouslyworking functions have failed as a result of the reparations and that newly added features have not created problems with previous versions of the software Also referred to as verification testing, regression testing is initiated after a programmer has attempted to fix a recognized problem or has added source code to a program that may have inadvertently introduced errors Remote Procedural Call (RPC) – A mechanism to allow the execution of individual routines on remote computers across a network Communication to these routines is via passing arguments so that, in contrast to using Sockets, the communication itself is hidden from the application The programming model is that of the clientsservers Routers – A device that determines the next network point to which a data packet should be forwarded enroute toward its destination The router is connected to at least two networks and determines which way to send each data packet based on its current understanding of the state of the networks it is connected to Routers create or maintain a table of the available routes and use this information to determine the best route for a given data packet Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Glossary 357 RAM – Random Access Memory is the most common computer memory which can be used by programs to perform necessary tasks while the computer is on An integrated circuit memory chip allows information to be stored or accessed in any order, and all storage locations are equally accessible S Secured Socket Layer (SSL) – A protocol developed by Netscape for transmitting private documents via the Internet SSL works by using a private key to encrypt data that are transferred over the SSL connection Both Netscape Navigator and Internet Explorer support SSL, and many Web sites use the protocol to obtain confidential user information such as credit card numbers Server – In the client/server programming model, a server is a program that awaits and fulfills requests from client programs in the same or other computers A given application in a computer may function as a client with requests for services from other programs and also as a server of requests from other programs Servlet – Java programs that can be run dynamically from a Web server Servlets are a server-side technology A servlet is an intermediating layer between an HTTP request of a client and the Web server Simple Mail Transfer Protocol (SMTP) – A protocol for sending e-mail messages between servers Most e-mail systems that send mail over the Internet use SMTP to send messages from one server to another; the messages can then be retrieved with an e-mail client using either POP or IMAP In addition, SMTP is generally used to send messages from a mail client to a mail server This is why the POP or IMAP server and the SMTP server need to be specified when users configure their e-mail applications Sniffer – An application or device that can read, monitor, and capture network data exchanges and read network packets If the packets are not encrypted, a sniffer provides a full view of the data inside the packet Sniffing – Method of hacking using some scripting languages or technology Software Development Life Cycle – A process of developing a software system in an organized, controlled, and predictable way The process starts at the conception of the project to its termination with the company, sometime called a cradle-to-grave process SQL injection – As the name suggests, an SQL injection attach “injects” or manipulates SQL code By adding unexpected SQL to a query, it is possible to manipulate a database in many unanticipated ways Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 358 Glossary Storage Area Network (SAN) – Collections of initiators, such as servers or individual “workstations,” and storage devices, typically disk- or tape-based, that are connected over a specialized or private LAN Structured Query Language (SQL) – Pronounced as either see-kwell or as separate letters SQL is a standardized query language for requesting information from a database The original version called SEQUEL (structured English query language) was designed by an IBM research center in 1974 and 1975 SQL was first introduced as a commercial database system in 1979 by Oracle Corporation Subnet – A portion of a network, which may be a physically independent network, which shares a network address with other portions of the network and is distinguished by a subnet number A subnet is to a network what a network is to an internet T T-1 – A leased-line connection capable of carrying data at 1,544,000 bits-per-second At maximum theoretical capacity, a T-1 line could move a megabyte in less than 10 seconds That is still not fast enough for full-screen, full-motion video, for which at least 10,000,000 bits-per-second is needed T-1 lines are commonly used to connect large LANs to the Internet TCP/IP (Transmission Control Protocol/Internet Protocol) – This is the suite of protocols that defines the Internet Originally designed for the UNIX operating system, TCP/IP software is now included with every major kind of computer operating system To be truly on the Internet, a computer must have TCP/IP software Test Bed – An execution environment configured for testing May consist of specific hardware, OS, network topology, configuration of the product under test, other application or system software, etc The Test Plan for a project should enumerate the test beds to be used Threads – Similar to processes, in that both represent a single sequence of instructions executed in parallel with other sequences, either by time slicing or multiprocessing Threads are a way for a program to split itself into two or more simultaneously running tasks U User Datagram Protocol (UDP) – Connectionless transport-layer protocol; part of the TCP/IP protocol stack Exchanges datagrams/packets without guaranteed delivery or acknowledgments Error processing and retransmission is handled by other protocols Sometimes used in place of TCP where transaction-based application programs communicate; normally carries non-critical network information Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Glossary 359 V VBScript – Short for Visual Basic Scripting Edition, a scripting language developed by Microsoft and supported by Microsoft’s Internet Explorer Web browser VBScript is based on the Visual Basic programming language, but is much simpler In many ways, it is similar to JavaScript It enables Web authors to include interactive controls, such as buttons and scrollbars, on their Web pages Virtual user – A software entity, internal to Web Performance Trainer and Trade, that simulates a real user by repeatedly performing a Business Case during a load test W Web Application – A software program that uses Hypertext Transfer Protocol (HTTP) for its core communication protocol and that delivers Web-based information to the user in the Hypertext Markup Language (HTML) language Wide Area Network (WAN) – A computer network that spans a relatively large geographical area Typically, a WAN consists of two or more local-area networks (LANs) X XML – Short for Extensible Markup Language, a specification developed by the W3C XML is a pared-down version of SGML, designed especially for Web documents It allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 360 About the Author About the Author Dr Subraya (subraya@infosys.com), BM, Associative Vice President, currently works as a principal researcher for the Education and Research Department and as the head of the Global Education Center (GEC), Infosys Technologies Limited, Mysore, India He is also responsible for the foundation level training at Global Education Center (GEC), Mysore His areas of interest are Web performance, software engineering, and software testing He has offered tutorials in Web performance testing in many preconference tutorials, including QAI, SEPG, and PSQT international conferences He has published many papers in international conferences in the area of performance testing of Web applications Before he came to Infosys, he worked 18 years as a professor and head of the Computer Centre at S.J College of Engineering, an affiliate college of the University of Mysore, a reputed engineering college in southern India Dr Subraya holds a PhD from the Indian Institute of Technology, Delhi, Computer Science and Engineering Department, in the area of hardware verification Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Index 361 Index Symbols NET 72, 234 second rule A acceptance criteria 174 acceptance test 88 accuracy 2, 12 active server pages (ASP) 43, 72 active time 180 ad hoc queries 208 ADO 212 advertisements 11 allocation 248 AltaVista ambiguities 78 analysis phase 125 analyzing requirements 78 AOL Apache server 43 Apache Tomcat server 55 application server logs 168 application servers 205 application throughput 246 architectural level monitoring 234 architectural plan 88 architecture 3, 110, 175, 204 architecture level 175 array bound errors 31 asynchronous transfer mode 45 audience 173 authentication 83, 210 authenticity 156 automated system 79 automated testing 55 automation 203 B B2B B2C background activities 172 bandwidth 4, 235 bandwidth soaked 112 bar charts 174 batch processing 81 behavior 105 benchmark design 102 black box method 19 bottleneck 174, 212, 235 broadband connection broken page 189 Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 362 Index browser 10, 34 buffer 31, 155, 212, 237 bugs 214 build phase 77 business applications 106 business context 80 business demands 109 business domain expert 158 business events 80 business functions 78 business logic 60, 244 business objectives 80 business operations 80 business to business (B2B) business to customer (B2C) C cable modem 44 cache 130, 155, 172 cached download time capacity testing 13 cascading style sheets (CSS) 69 central processing unit (CPU) 21 CGI 25, 57 client 34, 130 client caching 130 client environment 129 client program 53 client server 52 client side cookie 162 client side scripting 31, 70 client-server technology 53 clustering 57 coding 187 command ID (Cmd ID) 172 command usage reports 179 common gateway interface (CGI) 25, 57, 70 common language runtime (CLR) 254 community 208 comparative analysis 170 compare performance report 177 compatibility 218 complex benchmark 108 complex environment 128 complexity 78 computation based transaction 112 computational activity 108 computer 246 concept 156 concurrency 108 configuration testing 21 congestion window 35 connection leak 161 connection pooling 161 connections 35 content management 38 contention testing 21 context switching activity 237 cookie 162 cooperation 247 CPU 4, 21, 53, 154 critical performance parameters 78 critical quality factor 207 cross browser scripting 31 cryptographic protocol 31 cumulative statistics 180 customer loyalty customers 208 D data collection 246 data integrity 53 data link layer 205 data management 244 database connection 161 database connectivity 57 database design 235 database logs 168 database management system (DBMS) 21 database retrieval 53 database server 10, 54, 205 databases 53 DBLIB 212 DBMS 21 deallocation 161, 248 definition phase 77 delays 209 design phase 77, 216 designer detail level design (DLD) 77 dialup 44 Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Index 363 disk usage 189 distributed data collection 246 distribution 209 domain specific 103 downloading 189 DSL (digital subscriber line) 131 dual port redundancy 42 dynamic behavior 89 dynamic link Library 57 dynamic page 174 dynamic pages 189 dynamic Web site E e-auctioning e-commerce eBay efficiency 154 elaboration testing 156 electronic commerce end results 174 end user requests 189 endurance test 15, 172 enterprise application 56 Enterprise Java Bean (EJB) 60 environment 206 error pages 189 ethernet 85 execution 153 exit criteria 152 expected behavior 105 extensible hypertext markup language (XHTML) 69 extensible markup language (XML) 69 external events 81 F failed commands 180 fat server 39 fault tolerance 57 features testing 52 file access utilization 237 file requests 53 file servers 54 file transfer 38 file transfer protocol (FTP) 38 firewall 12, 192, 235 flexibility 68 front end monitoring 191 functional behavior 88 functional defect 153 functional design 88 functional regression testing 203 functional requirements 52 functional test automation 203 functionality 66 G garbage collection (GC) 161, 187, 247, 252 goal oriented 110 goals 78 Google graceful degradation 132 groupware server 54 GUIs (graphical user interface) 60 H healthy state 153 heap memory 251 heap size 155, 161 heterogeneous 53 heterogeneous client 34 high level design (HLD) 77 horizontal scaling 54 HTML 32 HTTP 25 HTTP return code 172 hyper text markup language (HTML) 32, 68 hyper text transfer protocol (HTTP) 25, 172 hypertext preprocessor (PHP) 72 I IMAP (Internet mail access protocol) 35 inactive time 180 incorrect configuration 112 information system (IS) 81 initial congestion window (ICW) 35 integrated services digital network (ISDN) 44 Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 364 Index integrity 53 interactions 108 interactive Web site interfacing system 89 Internet 3, 35, 187 Internet relay chat (IRC) 54 Internet server application programming interface 57 Internet service provider (ISP) 43, 131 intranet 56 invocation 248 IP address 209 IRC servers 54 ISAPI 57 J Java 130, 234, 253 Java database connectivity (JDBC) 189 Java management extension (JMX) 248 Java scripts 11 Java server pages (JSP) 57, 71 JavaScript 71 Jconsole 248 JDBC connection 187 Jscript 71 just-in-time (JIT) 244 JVM 155 K kernel memory allocation (KMA) 237 keyboard 53 knowledge L language 52, 68 latency 174 leased phone lines 44 LESS (load, endurance, stress, and spike) 14 licenses 127 Linux 130 live operation 79 load balancers 205 load balancing 37 load, endurance, stress, and spike (LESS) 14 load testing 15 local area network (LAN) 85 log 167, 219, 246 log file 153, 246 log performance 246 logging service 246 logistics 80 M m-commerce 80 mainframe application 56 mainframe environment 132 maintenance 68 master client 129 memory 154, 161, 175, 189, 237, 246 memory leak 15, 190 memory usage Mercury 217 message queue 155 messaging 57 method invocation 248 metrics 209 Microsoft NET 72 Microsoft Internet information server (IIS) 55 middleware 154 mirroring 42 mobile commerce 80 modems 53 monitor 53 MSN multi-tier architecture 62 multimedia 33 multimedia interactive system 13 multiple configurations 130 N negative exponential distribution 209 Netscape Navigator 130 network 34, 43, 154 network architecture 131 network bandwidth 235 network environment 79, 131 network link 12 network monitoring 192 Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Index 365 network operating systems (NOS) 21, 40 network topology 34 network traffic 168, 187, 246 networks NewReno 35 noise level 208 non-heap memory 251 normal distribution 209 NOS 21 O object allocation 248 object oriented (OO) 244 object request broker (ORB) 54 object servers 54 occupancy 154 online system 13 online transaction processing (OLTP) 54 open database connectivity (ODBC) 189 operating system (OS) 235 operation phase 216 operation profile 104 operational environment 127, 132, 206 optimum balance 107 optimum performance 167 Oracle 55 organizational structure 81 overview phase 216 P packet loss 189 page faults 186 page load 189 parameters 174 parent process 107 partitioned data 236 passed commands 180 passed responses 180 password 31 peak demands 109 pedagogy 11 peer tester review 157 PERFMON 242 performance 54 performance analyst 82 performance counters 247 performance metrics 78 performance monitoring 234 performance object 242 performance objective 82 performance parameters 79, 153 performance requirement document (PRD) 207 performance requirement specification 202 performance requirements 79 performance result 82 performance test automation 201 performance testing (PT) 1, 5, 29, 52 performance tuning 127, 196 permanent virtual circuit (PVC) 45 persistent connection 35 personal Web service (PWS) 57 PIN 83 pipelining 35 planned behavior 104 planning phase 216 point to point protocol (PPP) 130 point to point tunneling protocol (PPTP) 131 pooling 161 POP (post office protocol) 35 pop up advertisements 11 post execution phase 167 preparation phase 202 printers 53 process scheduling 247 project manager 124 prototyping 30 proxy servers 54 PT (performance testing) PT life cycle (PTLC) 22 PTLC 22 Python 69 Q quality process 204 query queue 189 queue length 212 R RAD 30 Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 366 Index RAID (redundant array of independent disks) 41 RAM 161, 212 random access memory (RAM) 161, 212 random delays 209 random simulation 208 rapid application development (RAD) 30 rational test suite 175 record session 172 redundancy 42 reference technology 52 regression 203 reliability 12 remote computer 246 Reno 35 request response 35 requirement study 78 resource crunch 112 resource management 187 resource measurements 175 resource parameter 175 resource pooling 60 resource utilization response time 2, 177 response time testing 13 retesting 151 return code 172 reusability 68 risk factors 78, 215 robustness 26 rollback buffer 15 router 12 S sample benchmark 109 Sar 237 scalability 14, 66 scalability testing 21 scatter charts 174 scheduling 202 script failure 173, 214 scripting languages 68 scripts 57 SDLC 21 security 12, 60, 131, 205 security model 129 selective acknowledgment (SACK) 36 self satisfaction test (SST) 157 self-tuning 241 serial line Internet protocol (SLIP) 131 server crash 214 server environment 131 server farm 37 server monitoring 192 server side includes (SSI) 73 server side program 56 server side scripting 71 servers 54 session state management 236 session tracking 161 shared resources 53 simple connection 35 simulated data 151 simulated environment 132 single-tier architecture 62 SMTP (simple mail transfer protocol) 35 sniffing 31 software development life cycle (SDLC) 21 software engine 53 special demand 109 specialized requirement 109 speech synthesis 83 speed spike testing 18 SQL injection 31 SQL server 55 stability 14 stakeholders 81 standard deviation (STD DEV) 176 static page 174 static Web site statistics 209 storage area network (SAN) 41, 133 storage operating system (SOS) 41 strategy 78 stress testing 17 structured query language (SQL) 36, 54 subnet 38 superimposing 175 SUT (system under test) 19 swap space 237 switched virtual circuit (SVC) 45 Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Index 367 Sybase 55 system developer system under test (SUT) 19 T Tahoe 35 technical infrastructure 79 technology framework 29 temporal events 82 test analyst 236 test automation 202 test bed 151 test cycle 158, 168, 214 test data bed 202 test design phase 102 test designers 125 test environment 206 test execution 160 test execution errors 148 test log 170 test log records 169 test preparation 125 test reports 173 test runs 158, 214 test script 129, 218 test script service (TSS) 183 test script specialist 151 test team 151 testing activity 124 testing process thick client 65 thin client 65 think time 209 thread contention 236 thread pool 155 thread synchronization 247 threads 104 three-tier architecture 64 three-tiered Web-based system 66 throughput testing 13 tiers 191 time reports 177 Timestamp 185 tolerance 16, 57 tools analysis 217 traceability matrix 202 traffic 38 transaction density per second transaction mix 108 transaction processing 57 transaction Server 54 transactions 4, 104 tuning 234 tuning process 187 two-tier architecture 63 U uniform distributio 209 uptime 237, 252 usage pattern 89, 155 user identification 162 V vertical scaling 54 virtual database user 212 virtual machine (VM) 244 virtual reality modeling language (VRML) 69 virtual tester 182 virtual users 213 visual basic (VB) script 71 voice recognition 83 W Web administrator 154 Web architecture 204 Web logic 55 Web page 2, 172 Web page development languages 68 Web server 133, 168, 205 Web server log 168 Web site 2, 32, 189, 209, 246 Web technology 55 Web traffic 12 Web-based applications 235 Web-based system Web-based technology 53 WebSphere 55 wide area network (WAN) 85 Windows 2000 130, 241 Windows NT 130 Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 368 Index wired client server technology 55 workload 103, 110, 202 workstation 53 World Wide Web (Web) Y Yahoo Z zero latency 42 zip drive 130 Copyright © 2006, Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Experience the latest full-text research in the fields of Information Science, Technology & Management InfoSci-Online InfoSci-Online is available to libraries to help keep students, faculty and researchers up-to-date with the latest research in the ever-growing field of information science, technology, and management The InfoSci-Online collection includes: Scholarly and scientific book chapters Peer-reviewed journal articles Comprehensive teaching cases Conference proceeding papers All entries have abstracts and citation information The full text of every entry is downloadable in pdf format InfoSci-Online features: Easy-to-use 6,000+ full-text entries Aggregated Multi-user access Some topics covered: Business Management Computer Science Education Technologies Electronic Commerce Environmental IS Healthcare Information Systems Information Systems Library Science Multimedia Information Systems Public Information Systems Social Science and Technologies “…The theoretical bent of many of the titles covered, and the ease of adding chapters to reading lists, makes it particularly good for institutions with strong information science curricula.” — Issues in Science and Technology Librarianship To receive your free 30-day trial access subscription contact: Andrew Bundy Email: abundy@idea-group.com • Phone: 717/533-8845 x29 Web Address: www.infosci-online.com A PRODUCT OF Publishers of Idea Group Publishing, Information Science Publishing, CyberTech Publishing, and IRM Press infosci-online.com Single Journal Articles and Case Studies Are Now Right at Your Fingertips! Purchase any single journal article or teaching case for only $18.00! Idea Group Publishing offers an extensive collection of research articles and teaching cases that are available for electronic purchase by visiting www.idea-group.com/articles You will find over 980 journal articles and over 275 case studies from over 20 journals available for only $18.00 The website also offers a new capability of searching journal articles and case studies by category To take advantage of this new feature, please use the link above to search within these available categories: Business Process Reengineering Distance Learning Emerging and Innovative Technologies Healthcare Information Resource Management IS/IT Planning IT Management Organization Politics and Culture Systems Planning Telecommunication and Networking Client Server Technology Data and Database Management E-commerce End User Computing Human Side of IT Internet-Based Technologies IT Education Knowledge Management Software Engineering Tools Decision Support Systems Virtual Offices Strategic Information Systems Design, Implementation You can now view the table of contents for each journal so it is easier to locate and purchase one specific article from the journal of your choice Case studies are also available through XanEdu, to start building your perfect coursepack, please visit www.xanedu.com For more information, contact cust@idea-group.com or 717-533-8845 ext 10 www.idea-group.com ... Data Integrated approach to web performance testing : a practitioner''s guide / B.M Subraya, editor p cm Includes bibliographical references and index Summary: "This book provides an integrated approach. .. Chapter Web- Based Systems and Performance Testing Web Systems and Poor Performance Classification of Web Sites The Need for Performance Testing General Perception about Performance. .. Introduction to Performance Monitoring and Tuning: Java and NET 234 Areas of Bottlenecks in Web- Based Applications 235 Performance Counters in the Operating System 236 Performance Monitoring