Generic
Wikipedia about Performance Engineering
SPE·ED Dr. Connie U. Smith's site about Software Performance Engineering (SPE) and SPE·ED - a tool support the SPE methods and models
PerfX Dr. Lloyd G. Williams' SPE publications, including 3 papers about performance anti-patterns
CMG conference proceedings from 1997 through 2005 a unique collection of papers about capacity planning, performance engineering, and performance management
SPE Radio "is designed to bring you the latest information in the world of Software Performance Engineering"
Performance Engineering for Systems in the Early Stages by Sudha Paidipati,
an overview in line with Dr. Smith's approach.
Software,
Performance, or Engineering? by Daniel A. Menascé
PerformanceEngineer.com information and links about software performance and performance testing by Charlie Weiblen
High Scalability "tries to bring together all the lore, art, science, practice, and experience of building scalable websites into one place so you can learn how to build your system with confidence"
A Performance
Process Maturity Model by Michael Maddox
Charting the Course
Through the Performance Management Life Cycle by Steven Rabin, see pp.13-20
Towards Component-Based Software Performance Engineering by Antonia Bertolino and Raffaela Mirandola
UML Profile for Schedulability, Performance, and Time Specification Version 1.1
Performance Programming: Theory, Practice and Case Study
A tutorial by Rajat Garg, Ilya Sharapov and Alistair Rendell presented at SC2002
mBrace Part I
Part II
Part III
- A pragmatic model driven approach for performance engineering of transaction processing systems
by Michael Kok
Exploring roles for the UML diagrams in software performance
engineering by Jose Merseguer and Javier Campos
Performance Anti-Patterns by Bart Smaalders
Software Performance Anti-Patterns discussion
Performance Engineering
for Free by Andrew Lee
Assuring Performance in Large IT Systems
International Workshop on Software and Performance (WOSP)
Infosys' Performance Engineering White Papers
Performance Requirements
Beyond performance testing: How fast is fast enough by Scott Barber
Get performance requirements right - think like a user by Scott Barber
Worth the Wait? by Peter Bickford
Quality is in the eye of the beholder:
Meeting users' requirements for Internet quality of service by Bouch, A., Kuchinsky, A. and Bhatti, N.
When Is Your Web Site Fast Enough? by Chris Loosley
Response Times: The Three Important Limits,
excerpt from Chapter 5 of Usability Engineering, 1994 by Jakob Nielsen
Understanding How Users View Application Performance by
Peter Sevcik
How Fast Is Fast Enough by Peter Sevcik
Apdex web site "Apdex is a numerical measure of user satisfaction with the performance of enterprise applications, and reflects the effectiveness of IT investments in contributing to business objectives."
User
Community Modeling Language (UCML 1.1™) for Performance Test Workloads by
Scott Barber
SEI Load Test
Planning Process by Mark McWhinney
Workload
Characterization by Daniel A. Menascé
Gathering
Performance Requirements by Manish Pande and Rajeshwari Ganesan
Using the Analytic Hierarchy Process (AHP) To Identify Performance Scenarios for Enterprise Applications
by Nidhi Tiwari
Addressing Performance Requirements Using a Goal and Scenario-Oriented Approach by Zhiming Cai and Eric Yu
Method
for Estimating the Number of Concurrent Users by Eric Man Wong
Observability by Adrian Cockcroft
Requirements-by-Example by Adriano Comai
Modeling Tools
Tools that could be used on early stages of computer systems
design and development when no system monitoring results exist. See
other Modeling Tools in Performance Management section.
SPE·ED "a tool designed specifically to support the SPE methods
and models defined in Connie U. Smith's book." "Using a small amount of data about envisioned software processing,
SPE·ED creates and solves performance models, and presents visual results." Doesn’t have interfaces to monitoring
data.
HyPerformix
Integrated Performance Suite (IPS) Optimizer. Uses discrete event simulation modeling technology. System
topology is descried by graphical diagrams. Software behavior is simulated by a scripting
language. Has interfaces to different types of monitoring data.
HyPerformix
IPS Designer. A simple tool using analytical modeling. Uses tabular forms to
specify all information. No way to simulate complex software behavior.
Crovan PredictorV "uses predictive technology to find your system’s performance problems early in the development process"
PredictorV User Guide
Performance
It is often difficult to separate information how to design systems with good
performance (architecture, performance patterns, language structures, etc.) from
information how to tune and deploy systems, quite often both sides are
considered. Although more architecture- technology- and language - oriented
links are placed here, a lot of related information can be found in the
Tuning section.
Java
Java Performance Tuning
Performance Project at java.net
J2EE Performance for WebLogic,
WebSphere, JBoss, etc.
TheServerSide.com Enterprise
Java Community
Scaling Your Java EE Applications, part 1 and part 2 by Wang Yu
J2EE
Performance Optimization by Kingsum Chow, Intel
Java Caching System (JCS)
Caching Dynamic Content with JSP 2.0 by Andrei Cioroianu
IBM WebSphere Developer Technical Journal: The top Java EE best practices
Microsoft
Microsoft .NET Framework: Performance
includes information on logging, tracing, profiling, and other diagnostic
techniques for analyzing and monitoring .NET applications.
Improving .NET Application Performance and Scalability online version
of
the Microsoft Press book
Patterns & Practices Performance Wiki
TheServerSide.net Eneterprise .NET
Community
ASP.NET
10 Tips for Writing High-Performance Web Applications
Rico Mariani's and
Maoni's blogs about CLR performance
Web
Performance Matters blog by Chris Loosley
Ajax Performance blog by Ryan Breen
10 Realistic Steps to a Faster Web Site by Alexander Kirk
SOA
High Performance SOA by Jason Bloomberg, a high-level overview
Misc
MicroQuill SmartHeap
X Window System Application Performance Tuning by Kenton Lee
Profilers
Quest JProbe "...complete
performance toolkit for Java code tuning. JProbe helps developers diagnose and
resolve performance bottlenecks, memory leaks, excessive garbage collection,
threading issues and coverage deficiencies in their J2EE and J2SE applications."
JProbe Profiler Freeware available for Windows and Linux.
Intel VTune
Performance Analyzer "Integrated performance analysis and tuning
environment that enables you to analyze your code's performance on Intel
architecture processors." Windows and Linux. C++, Java/J2EE, .Net, Fortran. Free
30-day evaluation.
Compuware
DevPartner "provides a comprehensive development, debugging and tuning
solution to the challenges of application development, from concept to coding to
completion. DevPartner products cover Microsoft, Java, 64-bit and driver
development" Free DevPartner Community Edition available.
Rational
PurifyPlus Memory corruption detection, memory leak detection, application
performance profiling, code coverage analysis. Can not find any mention of
Rational Quantify (was name for the Rational profiler) now, perhaps it is
included in PurifyPlus now (Purify was a memory debugger). Windows, Linux and
UNIX. Java , C/C++, managed VS.NET languages (including C# and VB.NET), Visual
C/C++, and Visual Basic.
All that profilers should be used with big caution in load testing and
production: in most cases they will not work due to huge performance overheads.
There are some performance
management tools that were developed for profiling and performance
diagnostics under load.
Monitoring
Only basic monitoring (using operating systems tools and utilities) are
considered here. See the
Application Performance Management Tools section for production level
monitoring and diagnostics.
Measuring and Monitoring NT Performance paper
and Monitoring NT Performance slides by Jerry Rosenberg
Windows 2000 Performance Counters Reference
Introduction to Windows Server 2003's Performance Monitor
Understanding .NET Performance Counters
Understanding SQL Performance Counters
Important Counters for Web Testing from Microsoft
Jaqui Lynch's
Publications: UNIX, AIX, and Linux performance tuning presentations provide a lot of information about monitoring
UNIX Performance Data Analysis by Ellen Friedman
Wilson Mar's performance
monitoring notes
Topping top in Solaris 8 with prstat by Tom Kincaid and Andrei Dorofeev
Extreme Linux Performance Monitoring and Tuning
Extreme Linux Performance Monitoring Part II
Solving SAS Performance Problems: Employing Host Based Tools by Tony Brown
Proactive Application Monitoring by Alexandre Polozoff
MonitorTools.com Site devoted to
monitoring tools
Instrumentation
ARM (Application
Response Measurement) API to enable applications to provide information to
measure business transactions from an end user perspective and the contributing
components of response time in distributed applications. Now a standard of The
Open Group. There are C and Java bindings.
OpenArm an open source
implementation of the Open Groups' ARM 4.0 Java interface.
Monitoring and Diagnosing Applications with ARM 4.0 by Mark W Johnson,
matching presentation
CMG ARM Working
Group page (looks a little outdated).
Aprobe instrumentation technology to transparently
insert new code at runtime from OC Systems
JMX (Java Management
Extensions) "technology provides the tools for building distributed,
Web-based, modular and dynamic solutions for managing and monitoring devices,
applications, and service-driven networks. By design, this standard is suitable
for adapting legacy systems, implementing new management and monitoring
solutions, and plugging into those of the future."
Design Patterns for JMX and Application Manageability by Justin Murray
Best Practices and Design Patterns for JMX Development by Satadip Dutta and Justin Murray
Java Management Extensions for application management
by H. Kreger
From black boxes to enterprises, Part 1: Management, JMX 1.1 style by Sing Li
From black boxes to enterprises, Part 2: Beans, JMX 1.1 style by Sing Li
From black boxes to enterprises, Part 3: Hands-on JMX integration by Sing Li
List of JMX API Articles
The Logging & Instrumentation Application Block "is a component of Enterprise Library that allows developers to instrument their applications with logging and tracing calls. Log and trace messages can be routed to a choice of data sinks, including the Event Log, text files or WMI. This block is the successor of the Enterprise Instrumentation Framework (EIF)."
Creating and Using
Counters in .NET by John Paul Mueller, see pp.34-38
Simple Network
Management Protocol (SNMP) is an application layer
protocol that facilitates the exchange of management information between network
devices. FAQ
Related Subjects
Software Reliability Engineering
John D. Musa's site
John Sellens' Reliability Page
Books
Click on the book or its title to see book information and
reviews (if available) on Amazon.com