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

@Scale, a series of technical conferences for engineers who build or maintain systems that are designed for scale

dotScale, the European Tech Conference on Scalability


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 a unique collection of papers about capacity planning, performance engineering, and performance management (CMG members only)

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

Software, Performance, or Engineering? by Daniel A. Menascé

Performance Engineering Parables by Chris Papineau

De-Mystifying Software Performance Optimization by Paul Del Vecchio

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

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

Introducing Performance Engineering by means of Tools and Practical Exercises

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

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

Response time in man-computer conversational transactions, 1968 paper by Robert Miller quoted by almost all later research

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

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

Palladio, a software architecture simulation approach

QPME, (Queueing Petri net Modeling Environment), an open-source tool for stochastic modeling and analysis


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
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
Akamai blog - Web Performance
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
Performance Calendar
Ilya Grigorik's blog
Performance Tips & Resources for PHP, Java, .Net, Python and Ruby
Measuring Web Performance by Steve Thair
Speed Awareness Month, tips and tools to speed up your website
Webpagetest.org tests website performance
Sitespeed.io, a set of Open Source tools to monitor and measure the performance of your web site
Lighthouse, an open-source, automated tool for improving the quality of web pages
Get Started With Analyzing Runtime Performance with Chrome DevTools
Boomerang, a JavaScript library for RUM (Real User Measurement)
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
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
A 10-Step Process for Understanding Site Performance & Automating Speed Testing by Ruth Everett

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

A Guide to Java Profilers

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, C++, C#, Java, Python, Go, Fortran. Free 30-day evaluation.

Micro Focus DevPartner (former Borland,Compuware) "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".

PurifyPlus (former Rational, IBM) Memory corruption detection, memory leak detection, application performance profiling, code coverage analysis.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, 15 days evaluation

JProfiler Java profiler

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

Coz (and JCoz), casual profiling

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

OpenTelemtery, provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application - to analyze them from observability tools. A merge of OpenTracing and OpenCensus.

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. [last version in 2007]. The Open Group standard.

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.


Reliability and Resiliency

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

Software Reliability Engineering site by John D. Musa

John Sellens' Reliability Page

International Symposium on Software Reliability Engineering (ISSRE)

Software Reliability references by CSIAC

Patterns for Resilient Architecture by Adrian Hornsby

Resiliency patterns by Microsoft


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.
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.
The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise by Martin L. Abbott and Michael T. Fisher, 2nd edition, 2015.
Time Is Money: The Business Value of Web Performance by Tammy Everts, 2016.
Architecting for Scale by Lee Atchison, 2016.
Linux Observability with BPF: Advanced Programming for Performance Analysis and Networking by David Calavera, Lorenzo Fontana, 2019.
BPF Performance Tools by Brendan Gregg, 2019.
Distributed Tracing in Practice: Instrumenting, Analyzing, and Debugging Microservices by Austin Parker, et al, 2020.

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, 2011.
Pro JavaScript Performance: Monitoring and Visualization by Tom Barker, 2012.
Java Performance and Scalability: A Quantitative Approach by Henry H. Liu, 2013.
Java Performance: The Definitive Guide by Scott Oaks, 2014.
Optimizing Java: Practical Techniques for Improving JVM Application Performance by Benjamin Evans, et al, 2018.

.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
Writing High-Performance .NET Code by Ben Watson, 2014

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.
High Performance Browser Networking: What every web developer should know about networking and web performance by Ilya Grigorik, 2013.
High Performance Responsive Design: Building Faster Sites Across Devices by Tom Barker, 2014.
Designing for Performance: Weighing Aesthetics and Speed by Lara Hogan, 2014.
Time Is Money: The Business Value of Web Performance by Tammy Everts, 2016.

CMG