PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

Size: px
Start display at page:

Download "PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design"

Transcription

1 PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General performance solutions Performance solutions for OO software Language independent solutions C++ solutions Java solutions Slide 2 Performance oriented design Performance s generalize and abstract the knowledge that performance specialists use Complement quantitative performance assessment; do not replace it Use performance s to design and/or improve the system; then use quantitative techniques to assess the effect of design alternatives on performance Principles for performance oriented design Performance control s Independent s Synergistic s Slide 3

2 Performance control s Help controlling performance of an evolving system Performance objective Instrumenting Define specific, quantitative, measurable performance objectives for each performance scenario Avoid vague or qualitative performance objectives (e.g., system shall be fast ) Instrument the system as you build it to enable measurement and analysis If you can t measure it, you can t control it Make data collection mechanisms part of the system s requirements and design Slide 4 Independent s Improve performance by reducing its computer resource requirements Centering Fixing-point Locality Processing vs. frequency Focus on the parts of software that have the greatest impact on performance Identify the dominant workload functions (e.g, use cases) and minimize their processing; use Fast path pattern For responsiveness, fixing should establish connections at the earliest feasible point in time, such that retaining the connection is cost effective Create actions, functions, and results that are close to physical computer resources used to produce them Special Temporal (i.e., time) Effectual (i.e., purpose or intent) Degree (i.e., intensity or size) Number of request received and the amount of work done per request Minimize the product of processing times frequency Slide 5 Synergistic s Improve performance via cooperation among processes competing for resources Shared resources Speed the load Parallel processing Share resources when possible When exclusive access is required, minimize the sum of the holding time plus the scheduling time Lock the entire database for update (minimizes scheduling time, maximizes holding time) OR Lock only the individual record (maximizes scheduling time, minimizes holding time) OR Lock a group of records Similar to Shared resources Minimize the number of processes that need the resource at a given time or minimize the amount of the resource that they need In some cases there may be overlap between the these two s Execute processing in parallel only when the processing speedup offsets communication overheads and resource contention delays Real concurrency processes execute simultaneously on different processors Apparent concurrency processes are multiplexed on a single processor Slide 6

3 Outline Principles for performance oriented design Performance testing Performance tuning General performance solutions Performance solutions for OO software Language independent solutions C++ solutions Java solutions Slide 7 Stress testing Stress testing is testing with high workload, to the point where one or more, or all resources are simultaneously saturated Intention of a stress test is to break the system, i.e., to force a crash Slide 8 Stress testing Stress testing does the following Distorts the normal order of processing, especially processing that occurs at different priority levels Forces the exercise of all system limits, thresholds, or other controls designed to deal with overload conditions Increases the number of simultaneous actions Forces race conditions Depletes resource pools in extraordinary and unthought sequences Slide 9

4 Stress testing Benefits Faults caught by stress testing tend to be subtle Faults caught by stress testing are often design flaws that may have implications in many areas When to stress test Whenever possible, early and repeatedly As a part of systems acceptance test Slide 10 Performance testing Objectives Show that the system meets specified performance objectives Determine the factors in hardware or software that limit system performance Tune the system Project the systems future load handling capacity Slide 11 Performance testing Performance testing presumes a robust, working, and stable system Faults that have an impact on the system s function have been removed Extreme example - If a fault crashes the system no rational performance testing can be done Faults that affect performance could range from poor design to poor implementation Slide 12

5 Performance testing Prerequisites Clear statement of performance objectives Workload to drive the experiment Controlled experimental process or testbed Instrumentation to gather performance related data Analytical tools to process and interpret the data Slide 13 Performance testing Problems with performance objectives There is no statement of performance objectives, or a statement is so vague that it cannot be reduced to a quantitative measure There is a clear quantitative statement of objectives, but it cannot be measured in practice Excessive resources and effort Excessive experiment duration There is a clear quantitative statement of objectives, but the objectives are unachievable at reasonable costs Slide 14 Performance testing Performance objectives depend on the domain; acceptable response time could be A few milliseconds for an antiaircraft missile control A few tens of millisecond for a nuclear reactor control A few seconds delay in getting a telephone dial tone Half a minute to answer DB query Slide 15

6 Complications and variations There is more than one type of workload Probability distribution for different workloads Different objective for each type of workload Example: a response time at 4 messages per second shall be less than 2 seconds, and a response time at 8 messages per second shall be less than 8 Performance may be intertwined with a quantitative reliability/availability specification Different workload-response time relations are allowed under different hardware/software failure conditions Slide 16 Complications and variations Analysis and measurement under time varying workload Consider different situations peak hour, average hour, peak day, etc. Slide 17 Stress and performance testing QA tasks Include workload generation as a major budget item Select workload generation methods; start workload generation development at the same time as software development Plan software instrumentation in support of performance testing as a part of system design; develop, publish, and discuss embedded software instrumentation as early as possible Slide 18

7 Stress and performance testing QA tasks Tie down workload statistics and parameters as early as possible in written form Start stress testing as early as possible; subject the system to stress whenever possible Include stress test as a part of the formal system acceptance test Accept no performance criteria that cannot be measured and validated with the allocated personnel, schedule, and budget Slide 19 Stress and performance testing QA tasks Plan performance testing as a specific, recognizable activity to be done on a testbed, and if necessary in the field Be sure to allow enough time for system to stabilize before attempting field performance testing Run performance tests intermixed with other system tests to detect faults that are performance related Slide 20 Outline Principles for performance oriented design Performance testing Performance tuning General performance solutions Performance solutions for OO software Language independent solutions C++ solutions Java solutions Slide 21

8 Performance tuning Why the system might need performance tuning? Application developed without using SPE Choices made for implementation alternatives were not optimal for the application Language used has features that significantly affect performance Unanticipated performance requirements need to be met Scalability objectives need to be met In general, a tuned system does not exhibit the level of performance as could have been achieved by considering performance issues from the beginning Slide 22 Performance tuning Tuning is usually done late in the software life cycle (implementation or deployment) Identify and focus on those areas that have the highest potential payoff There is not enough time or it is not cost effective to redesign the software Slide 23 Performance tuning 1. Prepare test plans - identify objectives to be achieved and measurements to be made Identify performance problems to be studies (e.g., use cases and scenarios) Identify the important workloads for scenarios (e.g, Web application requests, sensor sampling rates) and characterize their properties Define the data needed and the measurements and reports to produce it Identify measurement tools and specific procedures for their use Slide 24

9 Performance tuning 2. Conduct measurements studies Document the workload characteristics Collect system level data (e.g., CPU utilization, I/O rates, average I/O service time, communication line utilization, traffic rates, message sizes) Collect process level data (e.g., number of processes active, processes execution time, CPU usage by process, the amount of time processes are blocked and why, remote procedure calls, memory usage statistics) 3. Use the quantitative date obtained in steps 1 and 2 to identify bottleneck(s) Slide 25 Performance tuning 4. Evaluate the relative payoff of tuning the overall system versus tuning the software Changes made to the system (hardware or network configuration) are usually easier 5. Identify the processes that are the heaviest users ( heavy hitters ) to the bottleneck device(s) 6. Profile the heavy hitter processes to identify the hot spots within these processes 7. Identify performance solutions and quantify their risk (e.g., development effort, maintenance impact, cost, payoff) 8. Select appropriate solutions, implement them, and conduct performance tests Slide 26 Outline Principles for performance oriented design Performance testing Performance tuning General performance solutions Performance solutions for OO software Language independent solutions C++ solutions Java solutions Slide 27

10 Response time General performance solutions Fast path speed up 20% or less of code is executed as result of dominant workload functions Leave only the essential code Select optimal algorithms and data structures for typical case Remove unnecessary branching or context switches to eliminate disruptions of the hardware instruction pipeline Change the order in which data is stored to minimize the number of memory cache misses Some profiler based compiler optimizations identify and improve Fast paths Slide 28 General performance solutions Improve scalability Scalability is the ability of a system to continue to meet its response time or throughput objectives as the demand for software functions increases The change from linear to exponential increase is usually due to some resource in the system nearing 100% utilization You must know where the knee of the scalability curve falls for your system Add additional resources to remove the bottleneck Number of request per unit of time Slide 29 General performance solutions Algorithm and data structure choices Time versus Space trade-offs Trading space for time Compute the results of expensive functions once, store the results, and satisfy subsequent requests with a table lookup (example of Fixing-point ) Caching data that is accessed most often makes it cheapest to access (Embodies Centering, Fixing-point and Processing versus frequency s) If data access patterns are such that the last item retrieved in a query has a high probability of being requested again, it should be cached Move each item found in a list closer to the beginning Cache the timestamp of an HTTP request Use a background thread to generate and cache frequently used Web page bitmaps Cache the results of remote communications or database queries Slide 30

11 General performance solutions Trading space for time Postpone processing until the item is needed (Processing versus frequency ) Defer the calculation of the line width in a word processor until it is required, rather than calculating it after each character is entered Augment data structures with extra information, or change the structure so that it can be accessed easily (Fixing-point and Locality s) Use of doubly linked list Make fewer calls and process multiple requests with each call Slide 31 General performance solutions Trading time for space Use dense storage representations to decrease storage cost by increasing the time required to store and retrieve data File compression techniques Represent common sequences of operations compactly and interpret as required Implementation of a state machine as a table Hardware/Software platform dependencies Customizing code to the hardware/software platform may be needed to achieve performance objectives Limits portability Slide 32 Outline Principles for performance oriented design Performance testing Performance tuning General performance solutions Performance solutions for OO software Language independent solutions C++ solutions Java solutions Slide 33

12 Performance solutions for OO software Solutions at the level of code optimization Limited potential for performance improvement Could lead to code that is harder to understand, more difficult to modify, and less reusable Use as the last resort, only on the Fast path Slide 34 Language independent solutions Reducing unnecessary object creation and destruction Why is the object creation and destruction so expensive? When you create an object, any objects that it contains must also be created, any objects that those objects contain must also be created, and so one If the object is part of an inheritance hierarchy its creation will trigger the creation of all of its ancestors When all these objects are created, the memory to hold them must be allocated When the object is destroyed, all the additional objects that were created along with it must also be destroyed, and the memory that they used must be reclaimed Slide 35 Language independent solutions The amount of work required to create and destroy an object depends on two factors Complexity of the object Number of objects that it contains Number of ancestors that it has How the memory is allocated Objects created with new use memory from the heap Object declared as local variables use memory from the stack Heap memory is more expensive to allocate that stack memory because it is allocated dynamically rather than statically Slide 36

13 Language independent solutions Ways to reduce object creation and destruction overhead Create simpler objects and allocate them from the stack OR Apply the Processing versus frequency minimize the product of the number of times an object is created multiplied by the amount of work performed to create it Slide 37 Language independent solutions Reducing method invocation overhead What happens when the method is invoked? The arguments to be passed to the called method are pushed on the stack, along with the address of the instruction to be returned to Location of the calling method s local variables on the stack is also saved, so that they can be restored when the called method returns When the called method returns, the above process must be reversed to restore the processor state, and to update any arguments that were changed as a result of the invocation Slide 38 Language independent solutions Exact amount of work required for a method invocation depends on the hardware/software platform Method invocation consumes between machine instructions One way to reduce the overhead for method invocation is to inline the called method (replace the method call by expanding the body of the called method within the caller) Saves the overhead of saving and restoring process state and loading the address of the target instruction Produces large blocks of code that may be optimized by the compiler Disadvantage inlining large methods that are called from many places can significantly increase the footprint of the software Slide 39

14 C++ solutions Inlining to reduce method invocation overhead Use the keyword inline Only a hint that the compiler can either follow or ignore Since any change of the inlined method will require recompilation of every class that uses that method, inlining in C++ is usually deferred until late in the development process Profile based inlining profile your code to find the methods that are called frequently The best candidates for inlining are small frequently invoked methods Slide 40 C++ solutions Objects that are created with new have to be destroyed explicitly using delete Memory leak if the object is not destroyed the memory remains allocated and is unavailable for reuse by new objects; this can lead to performance degradation and crash or hang failure More efficient multithreading C++ (like C) does not provide language level support for multithreading Use a thread library (POSIX pthreads implementations or the Portable Thread Library) Slide 41 Java solutions Inlining to reduce method invocation overhead Java does not have inline keyword Decisions are made by the compiler when an optimize option is selected Slide 42

15 Java solutions Reducing garbage collection overhead Objects are not explicitly destroyed in Java Java runtime environment provides automatic garbage collection Garbage collector runs on a low priority thread which executes only when the system is idle The user does not have control of when the garbage collection is performed When the system is out of memory, the garbage collector will execute when heap memory is requested (e.g, new), causing a noticeable pause in user applications Pauses due to garbage collection can cause erratic results for performance measurements on Java systems Slide 43 Java solutions More efficient multithreading Java provides language level support for multithreading If used properly multithreading can be valuable for improving both responsiveness and scalability There is a tradeoff due to the overhead required to create and coordinate the threads Frequent creation and destruction of threads can add overhead to an application both for thread creation and for garbage collection Solution create ThreadPool interface that holds a number of threads that are recycled as needed Use synchronized to prevent more than one thread from accessing the block of code at a time may become performance bottleneck Slide 44

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1 Monitors Monitor: A tool used to observe the activities on a system. Usage: A system programmer may use a monitor to improve software performance. Find frequently used segments of the software. A systems

More information

Delivering Quality in Software Performance and Scalability Testing

Delivering Quality in Software Performance and Scalability Testing Delivering Quality in Software Performance and Scalability Testing Abstract Khun Ban, Robert Scott, Kingsum Chow, and Huijun Yan Software and Services Group, Intel Corporation {khun.ban, robert.l.scott,

More information

11.1 inspectit. 11.1. inspectit

11.1 inspectit. 11.1. inspectit 11.1. inspectit Figure 11.1. Overview on the inspectit components [Siegl and Bouillet 2011] 11.1 inspectit The inspectit monitoring tool (website: http://www.inspectit.eu/) has been developed by NovaTec.

More information

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE

More information

MAGENTO HOSTING Progressive Server Performance Improvements

MAGENTO HOSTING Progressive Server Performance Improvements MAGENTO HOSTING Progressive Server Performance Improvements Simple Helix, LLC 4092 Memorial Parkway Ste 202 Huntsville, AL 35802 sales@simplehelix.com 1.866.963.0424 www.simplehelix.com 2 Table of Contents

More information

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as: Performance Testing Definition: Performance Testing Performance testing is the process of determining the speed or effectiveness of a computer, network, software program or device. This process can involve

More information

Web Performance, Inc. Testing Services Sample Performance Analysis

Web Performance, Inc. Testing Services Sample Performance Analysis Web Performance, Inc. Testing Services Sample Performance Analysis Overview This document contains two performance analysis reports created for actual web testing clients, and are a good example of the

More information

Performance Analysis of Web based Applications on Single and Multi Core Servers

Performance Analysis of Web based Applications on Single and Multi Core Servers Performance Analysis of Web based Applications on Single and Multi Core Servers Gitika Khare, Diptikant Pathy, Alpana Rajan, Alok Jain, Anil Rawat Raja Ramanna Centre for Advanced Technology Department

More information

Tool - 1: Health Center

Tool - 1: Health Center Tool - 1: Health Center Joseph Amrith Raj http://facebook.com/webspherelibrary 2 Tool - 1: Health Center Table of Contents WebSphere Application Server Troubleshooting... Error! Bookmark not defined. About

More information

Agile Performance Testing

Agile Performance Testing Agile Performance Testing Cesario Ramos Independent Consultant AgiliX Agile Development Consulting Overview Why Agile performance testing? Nature of performance testing Agile performance testing Why Agile

More information

B M C S O F T W A R E, I N C. BASIC BEST PRACTICES. Ross Cochran Principal SW Consultant

B M C S O F T W A R E, I N C. BASIC BEST PRACTICES. Ross Cochran Principal SW Consultant B M C S O F T W A R E, I N C. PATROL FOR WEBSPHERE APPLICATION SERVER BASIC BEST PRACTICES Ross Cochran Principal SW Consultant PAT R O L F O R W E B S P H E R E A P P L I C AT I O N S E R V E R BEST PRACTICES

More information

Mission-Critical Java. An Oracle White Paper Updated October 2008

Mission-Critical Java. An Oracle White Paper Updated October 2008 Mission-Critical Java An Oracle White Paper Updated October 2008 Mission-Critical Java The Oracle JRockit family of products is a comprehensive portfolio of Java runtime solutions that leverages the base

More information

Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010

Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010 Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010 This document is provided as-is. Information and views expressed in this document, including URL and other Internet

More information

picojava TM : A Hardware Implementation of the Java Virtual Machine

picojava TM : A Hardware Implementation of the Java Virtual Machine picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer

More information

Monitoring Java enviroment / applications

Monitoring Java enviroment / applications Monitoring Java enviroment / applications Uroš Majcen uros@quest-slo.com Java is Everywhere You Can Expect More. Java in Mars Rover With the help of Java Technology, and the Jet Propulsion Laboratory (JPL),

More information

Application Performance Testing Basics

Application Performance Testing Basics Application Performance Testing Basics ABSTRACT Todays the web is playing a critical role in all the business domains such as entertainment, finance, healthcare etc. It is much important to ensure hassle-free

More information

Recommendations for Performance Benchmarking

Recommendations for Performance Benchmarking Recommendations for Performance Benchmarking Shikhar Puri Abstract Performance benchmarking of applications is increasingly becoming essential before deployment. This paper covers recommendations and best

More information

MS SQL Performance (Tuning) Best Practices:

MS SQL Performance (Tuning) Best Practices: MS SQL Performance (Tuning) Best Practices: 1. Don t share the SQL server hardware with other services If other workloads are running on the same server where SQL Server is running, memory and other hardware

More information

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada ken@unb.ca Micaela Serra

More information

Resource Utilization of Middleware Components in Embedded Systems

Resource Utilization of Middleware Components in Embedded Systems Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system

More information

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services Cognos8 Deployment Best Practices for Performance/Scalability Barnaby Cole Practice Lead, Technical Services Agenda > Cognos 8 Architecture Overview > Cognos 8 Components > Load Balancing > Deployment

More information

Contributions to Gang Scheduling

Contributions to Gang Scheduling CHAPTER 7 Contributions to Gang Scheduling In this Chapter, we present two techniques to improve Gang Scheduling policies by adopting the ideas of this Thesis. The first one, Performance- Driven Gang Scheduling,

More information

Guideline for stresstest Page 1 of 6. Stress test

Guideline for stresstest Page 1 of 6. Stress test Guideline for stresstest Page 1 of 6 Stress test Objective: Show unacceptable problems with high parallel load. Crash, wrong processing, slow processing. Test Procedure: Run test cases with maximum number

More information

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani

More information

Table of Contents INTRODUCTION... 3. Prerequisites... 3 Audience... 3 Report Metrics... 3

Table of Contents INTRODUCTION... 3. Prerequisites... 3 Audience... 3 Report Metrics... 3 Table of Contents INTRODUCTION... 3 Prerequisites... 3 Audience... 3 Report Metrics... 3 IS MY TEST CONFIGURATION (DURATION / ITERATIONS SETTING ) APPROPRIATE?... 4 Request / Response Status Summary...

More information

Rapid Bottleneck Identification

Rapid Bottleneck Identification Rapid Bottleneck Identification TM A Better Way to Load Test WHITEPAPER You re getting ready to launch or upgrade a critical Web application. Quality is crucial, but time is short. How can you make the

More information

DELL s Oracle Database Advisor

DELL s Oracle Database Advisor DELL s Oracle Database Advisor Underlying Methodology A Dell Technical White Paper Database Solutions Engineering By Roger Lopez Phani MV Dell Product Group January 2010 THIS WHITE PAPER IS FOR INFORMATIONAL

More information

High Availability Essentials

High Availability Essentials High Availability Essentials Introduction Ascent Capture s High Availability Support feature consists of a number of independent components that, when deployed in a highly available computer system, result

More information

Transaction Performance Maximizer InterMax

Transaction Performance Maximizer InterMax Transaction Performance Maximizer InterMax A-1208 Woorim Business Center, YeomChang-Dong, GangSeo-Gu, Seoul Korea Republic. TEL 82.2.6230.6300 l FAX 80.2.6203.6301 l www.ex-em.com Transaction Performance

More information

Replication on Virtual Machines

Replication on Virtual Machines Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism

More information

Cloud Based Application Architectures using Smart Computing

Cloud Based Application Architectures using Smart Computing Cloud Based Application Architectures using Smart Computing How to Use this Guide Joyent Smart Technology represents a sophisticated evolution in cloud computing infrastructure. Most cloud computing products

More information

Garbage Collection in the Java HotSpot Virtual Machine

Garbage Collection in the Java HotSpot Virtual Machine http://www.devx.com Printed from http://www.devx.com/java/article/21977/1954 Garbage Collection in the Java HotSpot Virtual Machine Gain a better understanding of how garbage collection in the Java HotSpot

More information

Performance And Scalability In Oracle9i And SQL Server 2000

Performance And Scalability In Oracle9i And SQL Server 2000 Performance And Scalability In Oracle9i And SQL Server 2000 Presented By : Phathisile Sibanda Supervisor : John Ebden 1 Presentation Overview Project Objectives Motivation -Why performance & Scalability

More information

An Approach to Load Balancing In Cloud Computing

An Approach to Load Balancing In Cloud Computing An Approach to Load Balancing In Cloud Computing Radha Ramani Malladi Visiting Faculty, Martins Academy, Bangalore, India ABSTRACT: Cloud computing is a structured model that defines computing services,

More information

Benchmarking Cassandra on Violin

Benchmarking Cassandra on Violin Technical White Paper Report Technical Report Benchmarking Cassandra on Violin Accelerating Cassandra Performance and Reducing Read Latency With Violin Memory Flash-based Storage Arrays Version 1.0 Abstract

More information

Performance Workload Design

Performance Workload Design Performance Workload Design The goal of this paper is to show the basic principles involved in designing a workload for performance and scalability testing. We will understand how to achieve these principles

More information

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008. Case Study - I Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008 Challenges The scalability of the database servers to execute batch processes under

More information

How To Test A Web Server

How To Test A Web Server Performance and Load Testing Part 1 Performance & Load Testing Basics Performance & Load Testing Basics Introduction to Performance Testing Difference between Performance, Load and Stress Testing Why Performance

More information

Evaluation Methodology of Converged Cloud Environments

Evaluation Methodology of Converged Cloud Environments Krzysztof Zieliński Marcin Jarząb Sławomir Zieliński Karol Grzegorczyk Maciej Malawski Mariusz Zyśk Evaluation Methodology of Converged Cloud Environments Cloud Computing Cloud Computing enables convenient,

More information

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM? MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM? Ashutosh Shinde Performance Architect ashutosh_shinde@hotmail.com Validating if the workload generated by the load generating tools is applied

More information

A Practical Method to Diagnose Memory Leaks in Java Application Alan Yu

A Practical Method to Diagnose Memory Leaks in Java Application Alan Yu A Practical Method to Diagnose Memory Leaks in Java Application Alan Yu 1. Introduction The Java virtual machine s heap stores all objects created by a running Java application. Objects are created by

More information

Case Study: Load Testing and Tuning to Improve SharePoint Website Performance

Case Study: Load Testing and Tuning to Improve SharePoint Website Performance Case Study: Load Testing and Tuning to Improve SharePoint Website Performance Abstract: Initial load tests revealed that the capacity of a customized Microsoft Office SharePoint Server (MOSS) website cluster

More information

Best Practices for Managing Virtualized Environments

Best Practices for Managing Virtualized Environments WHITE PAPER Introduction... 2 Reduce Tool and Process Sprawl... 2 Control Virtual Server Sprawl... 3 Effectively Manage Network Stress... 4 Reliably Deliver Application Services... 5 Comprehensively Manage

More information

Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist

Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist 2012 Informatica Corporation. No part of this document may be reproduced or transmitted in any

More information

The Design of the Inferno Virtual Machine. Introduction

The Design of the Inferno Virtual Machine. Introduction The Design of the Inferno Virtual Machine Phil Winterbottom Rob Pike Bell Labs, Lucent Technologies {philw, rob}@plan9.bell-labs.com http://www.lucent.com/inferno Introduction Virtual Machine are topical

More information

Postgres Plus Advanced Server

Postgres Plus Advanced Server Postgres Plus Advanced Server An Updated Performance Benchmark An EnterpriseDB White Paper For DBAs, Application Developers & Enterprise Architects June 2013 Table of Contents Executive Summary...3 Benchmark

More information

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB Planet Size Data!? Gartner s 10 key IT trends for 2012 unstructured data will grow some 80% over the course of the next

More information

Java Performance Tuning

Java Performance Tuning Summer 08 Java Performance Tuning Michael Finocchiaro This white paper presents the basics of Java Performance Tuning for large Application Servers. h t t p : / / m f i n o c c h i a r o. w o r d p r e

More information

WebSphere Architect (Performance and Monitoring) 2011 IBM Corporation

WebSphere Architect (Performance and Monitoring) 2011 IBM Corporation Track Name: Application Infrastructure Topic : WebSphere Application Server Top 10 Performance Tuning Recommendations. Presenter Name : Vishal A Charegaonkar WebSphere Architect (Performance and Monitoring)

More information

Azul Compute Appliances

Azul Compute Appliances W H I T E P A P E R Azul Compute Appliances Ultra-high Capacity Building Blocks for Scalable Compute Pools WP_ACA0209 2009 Azul Systems, Inc. W H I T E P A P E R : A z u l C o m p u t e A p p l i a n c

More information

ProTrack: A Simple Provenance-tracking Filesystem

ProTrack: A Simple Provenance-tracking Filesystem ProTrack: A Simple Provenance-tracking Filesystem Somak Das Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology das@mit.edu Abstract Provenance describes a file

More information

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc. Tuning WebSphere Application Server ND 7.0 Royal Cyber Inc. JVM related problems Application server stops responding Server crash Hung process Out of memory condition Performance degradation Check if the

More information

A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM

A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM Sneha D.Borkar 1, Prof.Chaitali S.Surtakar 2 Student of B.E., Information Technology, J.D.I.E.T, sborkar95@gmail.com Assistant Professor, Information

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors

More information

Performance Testing. Configuration Parameters for Performance Testing

Performance Testing. Configuration Parameters for Performance Testing Optimizing an ecommerce site for performance on a global scale requires additional oversight, budget, dedicated technical resources, local expertise, and specialized vendor solutions to ensure that international

More information

CSCI E 98: Managed Environments for the Execution of Programs

CSCI E 98: Managed Environments for the Execution of Programs CSCI E 98: Managed Environments for the Execution of Programs Draft Syllabus Instructor Phil McGachey, PhD Class Time: Mondays beginning Sept. 8, 5:30-7:30 pm Location: 1 Story Street, Room 304. Office

More information

Network Monitoring. Chu-Sing Yang. Department of Electrical Engineering National Cheng Kung University

Network Monitoring. Chu-Sing Yang. Department of Electrical Engineering National Cheng Kung University Network Monitoring Chu-Sing Yang Department of Electrical Engineering National Cheng Kung University Outline Introduction Network monitoring architecture Performance monitoring Fault monitoring Accounting

More information

Top 10 reasons your ecommerce site will fail during peak periods

Top 10 reasons your ecommerce site will fail during peak periods An AppDynamics Business White Paper Top 10 reasons your ecommerce site will fail during peak periods For U.S.-based ecommerce organizations, the last weekend of November is the most important time of the

More information

IBM RATIONAL PERFORMANCE TESTER

IBM RATIONAL PERFORMANCE TESTER IBM RATIONAL PERFORMANCE TESTER Today, a major portion of newly developed enterprise applications is based on Internet connectivity of a geographically distributed work force that all need on-line access

More information

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance. Agenda Enterprise Performance Factors Overall Enterprise Performance Factors Best Practice for generic Enterprise Best Practice for 3-tiers Enterprise Hardware Load Balancer Basic Unix Tuning Performance

More information

VirtualCenter Database Performance for Microsoft SQL Server 2005 VirtualCenter 2.5

VirtualCenter Database Performance for Microsoft SQL Server 2005 VirtualCenter 2.5 Performance Study VirtualCenter Database Performance for Microsoft SQL Server 2005 VirtualCenter 2.5 VMware VirtualCenter uses a database to store metadata on the state of a VMware Infrastructure environment.

More information

Improved metrics collection and correlation for the CERN cloud storage test framework

Improved metrics collection and correlation for the CERN cloud storage test framework Improved metrics collection and correlation for the CERN cloud storage test framework September 2013 Author: Carolina Lindqvist Supervisors: Maitane Zotes Seppo Heikkila CERN openlab Summer Student Report

More information

Web Server Software Architectures

Web Server Software Architectures Web Server Software Architectures Author: Daniel A. Menascé Presenter: Noshaba Bakht Web Site performance and scalability 1.workload characteristics. 2.security mechanisms. 3. Web cluster architectures.

More information

HP NonStop JDBC Type 4 Driver Performance Tuning Guide for Version 1.0

HP NonStop JDBC Type 4 Driver Performance Tuning Guide for Version 1.0 HP NonStop JDBC Type 4 Driver November 22, 2004 Author: Ken Sell 1 Introduction Java applications and application environments continue to play an important role in software system development. Database

More information

JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra

JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra January 2014 Legal Notices Apache Cassandra, Spark and Solr and their respective logos are trademarks or registered trademarks

More information

Monitoring applications in multitier environment. Uroš Majcen uros@quest-slo.com. A New View on Application Management. www.quest.

Monitoring applications in multitier environment. Uroš Majcen uros@quest-slo.com. A New View on Application Management. www.quest. A New View on Application Management www.quest.com/newview Monitoring applications in multitier environment Uroš Majcen uros@quest-slo.com 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Management Challenges

More information

Windows Server Performance Monitoring

Windows Server Performance Monitoring Spot server problems before they are noticed The system s really slow today! How often have you heard that? Finding the solution isn t so easy. The obvious questions to ask are why is it running slowly

More information

Analyzing IBM i Performance Metrics

Analyzing IBM i Performance Metrics WHITE PAPER Analyzing IBM i Performance Metrics The IBM i operating system is very good at supplying system administrators with built-in tools for security, database management, auditing, and journaling.

More information

Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment Analyzer

Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment Analyzer Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment Analyzer Version 2.0.0 Notes for Fixpack 1.2.0-TIV-W3_Analyzer-IF0003 Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment

More information

enterprise professional expertise distilled

enterprise professional expertise distilled Oracle JRockit The Definitive Guide Develop and manage robust Java applications with Oracle's high-performance Java Virtual Machine Marcus Hirt Marcus Lagergren PUBLISHING enterprise professional expertise

More information

Kentico CMS 6.0 Performance Test Report. Kentico CMS 6.0. Performance Test Report February 2012 ANOTHER SUBTITLE

Kentico CMS 6.0 Performance Test Report. Kentico CMS 6.0. Performance Test Report February 2012 ANOTHER SUBTITLE Kentico CMS 6. Performance Test Report Kentico CMS 6. Performance Test Report February 212 ANOTHER SUBTITLE 1 Kentico CMS 6. Performance Test Report Table of Contents Disclaimer... 3 Executive Summary...

More information

Memory Management in the Java HotSpot Virtual Machine

Memory Management in the Java HotSpot Virtual Machine Memory Management in the Java HotSpot Virtual Machine Sun Microsystems April 2006 2 Table of Contents Table of Contents 1 Introduction.....................................................................

More information

Demystifying Deduplication for Backup with the Dell DR4000

Demystifying Deduplication for Backup with the Dell DR4000 Demystifying Deduplication for Backup with the Dell DR4000 This Dell Technical White Paper explains how deduplication with the DR4000 can help your organization save time, space, and money. John Bassett

More information

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 TOPOLOGY SELECTION SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Topology selection criteria. Perform a comparison of topology selection criteria. WebSphere component

More information

.:!II PACKARD. Performance Evaluation ofa Distributed Application Performance Monitor

.:!II PACKARD. Performance Evaluation ofa Distributed Application Performance Monitor r~3 HEWLETT.:!II PACKARD Performance Evaluation ofa Distributed Application Performance Monitor Richard J. Friedrich, Jerome A. Rolia* Broadband Information Systems Laboratory HPL-95-137 December, 1995

More information

Desktop Virtualization and Storage Infrastructure Optimization

Desktop Virtualization and Storage Infrastructure Optimization Desktop Virtualization and Storage Infrastructure Optimization Realizing the Most Value from Virtualization Investment Contents Executive Summary......................................... 1 Introduction.............................................

More information

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging In some markets and scenarios where competitive advantage is all about speed, speed is measured in micro- and even nano-seconds.

More information

Introduction. Part I: Finding Bottlenecks when Something s Wrong. Chapter 1: Performance Tuning 3

Introduction. Part I: Finding Bottlenecks when Something s Wrong. Chapter 1: Performance Tuning 3 Wort ftoc.tex V3-12/17/2007 2:00pm Page ix Introduction xix Part I: Finding Bottlenecks when Something s Wrong Chapter 1: Performance Tuning 3 Art or Science? 3 The Science of Performance Tuning 4 The

More information

Performance Test Report KENTICO CMS 5.5. Prepared by Kentico Software in July 2010

Performance Test Report KENTICO CMS 5.5. Prepared by Kentico Software in July 2010 KENTICO CMS 5.5 Prepared by Kentico Software in July 21 1 Table of Contents Disclaimer... 3 Executive Summary... 4 Basic Performance and the Impact of Caching... 4 Database Server Performance... 6 Web

More information

Cloud Operating Systems for Servers

Cloud Operating Systems for Servers Cloud Operating Systems for Servers Mike Day Distinguished Engineer, Virtualization and Linux August 20, 2014 mdday@us.ibm.com 1 What Makes a Good Cloud Operating System?! Consumes Few Resources! Fast

More information

The Key Technology Research of Virtual Laboratory based On Cloud Computing Ling Zhang

The Key Technology Research of Virtual Laboratory based On Cloud Computing Ling Zhang International Conference on Advances in Mechanical Engineering and Industrial Informatics (AMEII 2015) The Key Technology Research of Virtual Laboratory based On Cloud Computing Ling Zhang Nanjing Communications

More information

Energy Efficient MapReduce

Energy Efficient MapReduce Energy Efficient MapReduce Motivation: Energy consumption is an important aspect of datacenters efficiency, the total power consumption in the united states has doubled from 2000 to 2005, representing

More information

Azul Pauseless Garbage Collection

Azul Pauseless Garbage Collection TECHNOLOGY WHITE PAPER Azul Pauseless Garbage Collection Providing continuous, pauseless operation for Java applications Executive Summary Conventional garbage collection approaches limit the scalability

More information

q for Gods Whitepaper Series (Edition 7) Common Design Principles for kdb+ Gateways

q for Gods Whitepaper Series (Edition 7) Common Design Principles for kdb+ Gateways Series (Edition 7) Common Design Principles for kdb+ Gateways May 2013 Author: Michael McClintock joined First Derivatives in 2009 and has worked as a consultant on a range of kdb+ applications for hedge

More information

Performance Improvement In Java Application

Performance Improvement In Java Application Performance Improvement In Java Application Megha Fulfagar Accenture Delivery Center for Technology in India Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Agenda Performance

More information

Trace-Based and Sample-Based Profiling in Rational Application Developer

Trace-Based and Sample-Based Profiling in Rational Application Developer Trace-Based and Sample-Based Profiling in Rational Application Developer This document is aimed at highlighting the importance of profiling in software development and talks about the profiling tools offered

More information

Insight into Performance Testing J2EE Applications Sep 2008

Insight into Performance Testing J2EE Applications Sep 2008 Insight into Performance Testing J2EE Applications Sep 2008 Presented by Chandrasekar Thodla 2008, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change

More information

A Middleware Strategy to Survive Compute Peak Loads in Cloud

A Middleware Strategy to Survive Compute Peak Loads in Cloud A Middleware Strategy to Survive Compute Peak Loads in Cloud Sasko Ristov Ss. Cyril and Methodius University Faculty of Information Sciences and Computer Engineering Skopje, Macedonia Email: sashko.ristov@finki.ukim.mk

More information

Performance rule violations usually result in increased CPU or I/O, time to fix the mistake, and ultimately, a cost to the business unit.

Performance rule violations usually result in increased CPU or I/O, time to fix the mistake, and ultimately, a cost to the business unit. Is your database application experiencing poor response time, scalability problems, and too many deadlocks or poor application performance? One or a combination of zparms, database design and application

More information

Eloquence Training What s new in Eloquence B.08.00

Eloquence Training What s new in Eloquence B.08.00 Eloquence Training What s new in Eloquence B.08.00 2010 Marxmeier Software AG Rev:100727 Overview Released December 2008 Supported until November 2013 Supports 32-bit and 64-bit platforms HP-UX Itanium

More information

Multi-Channel Clustered Web Application Servers

Multi-Channel Clustered Web Application Servers THE AMERICAN UNIVERSITY IN CAIRO SCHOOL OF SCIENCES AND ENGINEERING Multi-Channel Clustered Web Application Servers A Masters Thesis Department of Computer Science and Engineering Status Report Seminar

More information

Validating Java for Safety-Critical Applications

Validating Java for Safety-Critical Applications Validating Java for Safety-Critical Applications Jean-Marie Dautelle * Raytheon Company, Marlborough, MA, 01752 With the real-time extensions, Java can now be used for safety critical systems. It is therefore

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Protect Microsoft Exchange databases, achieve long-term data retention

Protect Microsoft Exchange databases, achieve long-term data retention Technical white paper Protect Microsoft Exchange databases, achieve long-term data retention HP StoreOnce Backup systems, HP StoreOnce Catalyst, and Symantec NetBackup OpenStorage Table of contents Introduction...

More information

An Accenture Point of View. Oracle Exalytics brings speed and unparalleled flexibility to business analytics

An Accenture Point of View. Oracle Exalytics brings speed and unparalleled flexibility to business analytics An Accenture Point of View Oracle Exalytics brings speed and unparalleled flexibility to business analytics Keep your competitive edge with analytics When it comes to working smarter, organizations that

More information

Performance Testing of Java Enterprise Systems

Performance Testing of Java Enterprise Systems Performance Testing of Java Enterprise Systems Katerina Antonova, Plamen Koychev Musala Soft Why Performance Testing? Recent studies by leading USA consultancy companies showed that over 80% of large corporations

More information

Petascale Software Challenges. Piyush Chaudhary piyushc@us.ibm.com High Performance Computing

Petascale Software Challenges. Piyush Chaudhary piyushc@us.ibm.com High Performance Computing Petascale Software Challenges Piyush Chaudhary piyushc@us.ibm.com High Performance Computing Fundamental Observations Applications are struggling to realize growth in sustained performance at scale Reasons

More information

A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS

A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS Abstract T.VENGATTARAMAN * Department of Computer Science, Pondicherry University, Puducherry, India. A.RAMALINGAM Department of MCA, Sri

More information

A Guide to Getting Started with Successful Load Testing

A Guide to Getting Started with Successful Load Testing Ingenieurbüro David Fischer AG A Company of the Apica Group http://www.proxy-sniffer.com A Guide to Getting Started with Successful Load Testing English Edition 2007 All Rights Reserved Table of Contents

More information

Improving the performance of data servers on multicore architectures. Fabien Gaud

Improving the performance of data servers on multicore architectures. Fabien Gaud Improving the performance of data servers on multicore architectures Fabien Gaud Grenoble University Advisors: Jean-Bernard Stefani, Renaud Lachaize and Vivien Quéma Sardes (INRIA/LIG) December 2, 2010

More information