Organizations / Events

Computer Measurement Group (CMG)
ACM SIGMETRICS, the ACM Special Interest Group (SIG) for the computer/communication system performance community
IFIP Technical Committee 7: System Modeling and Optimization

Velocity Web Performance and Operations Conference from O'Reilly Media

New York Web Performance Group and other Web Performance Meetup Groups


Performance Engineering

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, including SPE publications

CMG conference proceedings from 1976 through 2010 a unique collection of papers about capacity planning, performance engineering, and performance management

High Scalability Blog "Building bigger, faster, more reliable websites"

Performance By Design blog by Mark Friedman

Software Performance Engineering blog by Walter Kuketz

Thinking Clearly about Performance by Cary Millsap

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é

Performance Engineering Parables by Chris Papineau

A Performance Process Maturity Model by Michael Maddox

De-Mystifying Software Performance Optimization by Paul Del Vecchio

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

Detecting Performance Antipatterns in Component Based Enterprise Systems by Trevor Parsons and John Murphy

Modern Enterprise Performance Analysis Antipatterns by Ben Evans

1202 Performance Performance by Design, Andrew Lee's site

Performance Engineering for Free by Andrew Lee

Infosys' Performance Engineering White Papers

Peeling the Layers of the "Performance Onion" by John Murphy, Andrew Lee and Liam Murphy

Introducing Performance Engineering by means of Tools and Practical Exercises

Performance Engineering Lab Dublin publications

Highly Scalable Blog, articles on highly scalable software engineering

Performance Engineering of Software Systems, MIT Open Courseware


Performance Requirements

Beyond performance testing: How fast is fast enough by Scott Barber

Get performance requirements right - think like a user by Scott Barber

How To: Consolidate Various Types of Performance Acceptance Criteria

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

Website Response Times by Jakob Nielsen

Understanding How Users View Application Performance by Peter Sevcik

How Fast Is Fast Enough by Peter Sevcik

Acceptable Response Times by Chris Loosley

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."

eCommerce Web Site Performance Today report by Forrester Consulting on behalf of Akamai Technologies, 2009.

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

Quality Attribute Scenarios in Practice from Software Architecture in Practice

Quantifying Quality Requirements Using Planguage by Eric Simmons

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

Steve Seow's Blog, the author of Designing and Engineering Time


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.

CA (former HyPerformix) Performance 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.


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
Java Performance from Wikipedia
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
Enterprise Java Performance: Best Practices by Intel authors
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
Windows Performance Analysis Developer Center
(Semi) Official Developer Division Performance Engineering blog News and commentary on developing scalable Windows applications
Vance Morrison's Blog, .Net performance
Rico Mariani's and Maoni's blogs about CLR performance
CLR Perf Team Blog
Visual Studio Profiler Team Blog
Monitoring and Improving ASP.NET Application Performance by John Chapman
Improving ASP.NET Application Performance and Scalability by Joydip Kanjilal
ASP.NET 10 Tips for Writing High-Performance Web Applications by Rob Howard

Web

Book of Speed by Stoyan Stefanov
Web Performance Hub from Strangeloop
High performance Web Sites site and blog by Steve Souders
Definitive front-end performance guide
Best Practices for Speeding Up Your Web Site by Yahoo
Web Performance Today blog by Joshua Bixby
Performance Calendar
Ilya Grigorik's blog
Performance Tips & Resources for PHP, Java, .Net, Python and Ruby
Measuring Web Performance by Steve Thair
Performance Matters blog by Chris Loosley
Ajax Performance blog by Ryan Breen
Speed Awareness Month, tips and tools to speed up your website
10 Realistic Steps to a Faster Web Site by Alexander Kirk
Yslow analyzes web pages and suggests ways to improve their performance
Smush.it “smushes” images to make them smaller without losing any noticeable quality.
Show Slow is an open source tool that helps monitor various website performance metrics over time. It captures the results of YSlow, Page Speed and dynaTrace AJAX Edition rankings and graphs them, to help you understand how various changes to your site affect its performance
Mobile Perf Bookmarklet – According to Steve Souders, “Web development on mobile devices is especially challenging. The debuggers and profilers we use on the desktop aren't available. Bookmarklets are a good alternative.”
PageSpeed is a family of tools for optimizing the performance of web pages started at Google
mod_pagespeed is an open-source Apache module that automatically optimizes web pages and resources on them
HTTParchive.org a permanent repository of web performance information such as size of pages, failed requests, and technologies utilized.
Whichloadsfaster.com Pages compete head-to-head in your browser to see who's fastest
Webpagetest.org tests website performance
GTmetrix uses Google Page Speed and Yahoo! YSlow to grade your site's performance and provides actionable recommendations to fix these issues
Redbot analyses how well your site is managing the browser caching
JavaScript: Better and Faster by Ben Cherry

SOA

High Performance SOA by Jason Bloomberg, a high-level overview

Misc

The Hoard Memory Allocator
MicroQuill SmartHeap
X Window System Application Performance Tuning by Kenton Lee


Profilers

List of performance analysis tools from Wikipedia

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." Looks like discontinued by Dell.

Intel VTune "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.

Borland / Micro Focus (former 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".

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.

YourKit tools for profiling Java & .NET applications.

HttpWatch, an integrated HTTP sniffer for IE and Firefox that provides new insights into how your website loads and performs, free Basic Edition

Fiddler Web Debugging Proxy, freeware

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

Windows 2003 Performance Counters Reference

Introduction to Windows Server 2003's Performance Monitor

Windows Performance Monitor Windows 2008

Understanding .NET Performance Counters

Understanding SQL Performance Counters

Important Counters for Web Testing from Microsoft

Overview of ASP.NET Performance Monitoring

Access Windows Performance Monitor Counters from Java by Nicholas Whitehead

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. There are C and Java bindings.
OpenArm an open source implementation of the Open Groups' ARM 4.0 Java interface.
ARM instrumentation from OC Systems

Monitoring and Management for the Java Platform

Windows Instrumentation

Simple Network Management Protocol (SNMP) is an application layer protocol that facilitates the exchange of management information between network devices. FAQ


Reliability

More Reliable Software Faster and Cheaper – An Overview by John D. Musa

Software-Reliability-Engineered Testing by John D. Musa and James Widmaier

John Sellens' Reliability Page

International Symposium on Software Reliability Engineering (ISSRE)

Software Reliability references by the DACS

Articles and Papers about Software Reliability


Books

Click on the book or its title to see book information and reviews (if available) on Amazon.com

Performance Engineering

Performance Engineering of Software Systems by Connie U. Smith, 1990.
High-Performance Client/Server by Chris Loosley and Frank Douglas, 1997.
Designing Concurrent, Distributed, and Real-Time Applications with UML by Hassan Gomaa, 2000.
Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software by Connie U. Smith and Lloyd G. Williams, 2001.
Software Reliability Engineering: More Reliable Software Faster and Cheaper by John D. Musa, 2004.
Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications by Cal Henderson,2006.
Scalable Internet Architectures by Theo Schlossnagle, 2006.
Designing and Engineering Time: The Psychology of Time Perception in Software by Steven C. Seow, 2008.
The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise by Martin L. Abbott and Michael T. Fisher, 2009.
Software Performance and Scalability: A Quantitative Approach by Henry H. Liu, 2009.
Web Operations: Keeping the Data On Time by John Allspaw and Jesse Robbins, 2010.
Scalability Rules: 50 Principles for Scaling Web Sites by Martin L. Abbott and Michael T. Fisher, 2011.

Java

Performance Analysis for Java Websites by Stacy Joines, et al, 2002.
Java Performance Tuning (2nd Edition) by Jack Shirazi, 2003
Java Concurrency in Practice by Brian Goetz, et al, 2006.
Pro Java EE 5 Performance Management and Optimization by Steven Haines, 2006.
Effective Java by Joshua Bloch, 2008.
Java Performance by Charlie Hunt and Binu John, 2008.
Pro JavaScript Performance: Monitoring and Visualization by Tom Barker, 2012.
Java Performance and Scalability: A Quantitative Approach by Henry H. Liu, 2013.

.Net

Professional ASP.NET Performance by Matt Odhner, et al, 2002.
Maximizing .NET Performance by Nick Wienholt, 2003.
Performance Tuning and Optimizing ASP.NET Applications by Jeffrey Hasan and Kenneth Tu, 2003.
Improving .Net Application Performance and Scalability (Patterns & Practices), Microsoft, 2004.
Parallel Programming with Microsoft .NET by Colin Campbell, et al, 2010.
.NET Performance Testing and Optimization - The Complete Guide by Paul Glavich and Chris Farrell, 2010.
ASP.NET Site Performance Secrets by Matt Perdeck, 2010
Pro .NET Performance: Optimize Your C# Applications by Sasha Goldshtein, et al, 2012.
Ultra-Fast ASP.NET 4.5 by Rick Kiessig, 2012

WPO

Web Performance Tuning by Patrick Killelea, 2002
High Performance Web Sites: Essential Knowledge for Front-End Engineers by Steve Souders, 2007.
Website Optimization: Speed, Search Engine & Conversion Rate Secrets by Andrew King, 2008.
Complete Web Monitoring: Watching Your Visitors, Performance, Communities, and Competitors by Alistair Croll and Sean Power, 2009.
Even Faster Web Sites: Performance Best Practices for Web Developers by Steve Souders, 2009.
Pro PHP Application Performance: Tuning PHP Web Projects for Maximum Performance by Armando Padilla and Tim Hawkins, 2010.
JavaScript Patterns by Stoyan Stefanov, 2010.
High Performance JavaScript (Build Faster Web Application Interfaces) by Nicholas C. Zakas, 2010.
Pro JavaScript Performance: Monitoring and Visualization by Tom Barker, 2012.
Pro HTML5 Performance by Jay Bryant and Mike Jones, 2012.
Web Performance Daybook Volume 2 by Stoyan Stefanov, et al, 2012.
Professional Website Performance: Optimizing the Front-End and Back-End by Peter Smith, 2012.

Neotys