goldb.org home

AS OF MAY 2008, THIS BLOG IS NO LONGER BEING UPDATED.
Visit the new blog at: http://coreygoldberg.blogspot.com



 Friday, December 14, 2007

Technical Skills For Performance Testers

A performance engineer is a little bit of a jack-of-all-trades.  Rather than focusing on small technological niche, performance testers must have a very wide range of technical skills to understand the inner working of a complex system under test.

As far as skill go, Scott Barber has said that you need to be a "mid-level everything":

"Become a "Mid-Level Everything" – Developer, DBA, Network Admin, Systems Admin, Architect, Business Analyst, etc."

If you want to become proficient in analyzing system performance and scalability, there are many technical areas you should study.  Here are some skills I have found to be invaluable in my success as a performance engineer:


Performance Concepts:

  • Methodology
  • Load Generation Tools
  • User/Workload Modeling
  • Results Analysis (Latency, Throughput, Metrics)
  • Bottleneck Detection
  • Code Profiling
  • Scalability
  • Concurrency
  • Charting/Graphing
  • Statistics

Operating Systems and Servers:

  • Monitoring (CPU/Network/Mem/Disk/etc)
  • System Tuning
  • Web/Application/Middleware Server Tuning
  • System Administration
  • Virtualization
  • OS Concepts (CPU Scheduling, Memory Management, etc)

Database:

  • SQL
  • Stored Procedures
  • Monitoring
  • Tuning

Network:

  • Topology
  • Monitoring
  • Load Balancing
  • TCP/IP
  • HTTP
  • Packet Sniffing and Protocol Analysis
  • Caching
  • OSI Model

Programming:

  • Proficiency in at least on general programming language. Preferably a dynamic scripting language (Python/Perl/Ruby/etc)
  • Code/Algorithm Analysis


(Note: There are lots of "soft skills" a performance tester would need to be successful. This post focuses only on technical skills)

#    Comments [2] |
 Tuesday, November 06, 2007

Extreme Linux Performance Monitoring And Tuning

I just came across a great site with lots of papers related to performance monitoring and tuning for Linux:

http://www.ufsdump.org

One paper I especially liked:

Extreme Linux Performance Monitoring And Tuning

"The purpose of this document is to describe how to monitor Linux operating systems for performance.  This paper examines how to interpret common Linux performance tool output.  After collecting this output, the paper describes how to make conclusions about performance bottlenecks."

Lots of great info!

#    Comments [2] |
 Monday, October 22, 2007

OpenSTA 1.4.4 Release (Open Source HTTP Performance Test Tool)

The OpenSTA team has announced the release of version 1.4.4

OpenSTA is a distributed software testing architecture designed around CORBA.  The applications that make up the current OpenSTA toolset were designed to be used by performance testing practitioners for web load testing.

Info:
http://portal.opensta.org/index.php?name=News&file=article&sid=51

Download:
http://opensta.org/download.html

Congrats and thanks to Bernie Velivis, Daniel Sutcliffe, Jerome Delemarche for making this release possible.




#    Comments [1] |
 Thursday, August 23, 2007

Scalability - TechCrunch Runs On 1 Web Server And 1 Database Server. Huh?

highscalability.com pointed out an article from Pingdom titled "What the Web’s most popular sites are running on", which shows the results from an infrastructure survey of 7 popular web "super sites" (TechCrunch, FeedBurner, iStockPhoto, YouSendIt, Meebo, Vimeo, Alexaholic).

There is some intriguing information in the survey, but one thing stood out.  Apparently, TechCrunch runs on 1 web server and 1 database server, with no server clustering:


I almost find this hard to believe.  They serve > 1 million unique visitors per month off of this?

#    Comments [3] |