Wednesday, June 17, 2009

How To Optimize Performance (or how to do Performance Testing right)

Optimizing performance requires you to performance test.

I'm just going to say it - performance testing is hard. Really hard.

Ask anyone that's done it before, and they will agree. If you haven't done it before, well, yeah, sorry. It's not easy. But you've got to do it anyway - because the most important thing you will do as a software engineer is performance test. It's a bit like when your Dad told you "when you grow up to be my age <insert age old wisdom here>" and you didn't believe him?

And now you're old enough that you realize, hey, the guy might have had a point?

Yeah, trust me. Performance testing is both the hardest, and most important, thing you will ever do in your software engineering career. Get it right - you'll be a rockstar. Don't do it - well, I promise you, you'll always be griping about why the amazing software you write is never actually used for "production" apps.

So here you go, simple steps to performance engineering:

1) Set goals - what are you trying to accomplish
2) Measure a baseline
3) Identify a bottleneck
4) Fix said bottleneck
5) Repeat until you meet your performance goals

Did I miss anything? Ahhh...yes. TAKE NOTES.

Let's try again:

1) Set goals - what are you trying to accomplish
1a) Take notes
2) Measure a baseline
2a) Take notes
3) Identify a bottleneck
3a) Take notes
4) Fix said bottleneck
4a) Take notes
5) Repeat until you meet your performance goals

Step 6) -- Report to your boss how much better your application is. But because of Step 1, you'll be able to tell him/her why it matters, right? :)


pveentjer said...

To make the problem even more complex: try adding more than 1 environment you need to deal with.

Tc has access to a lot of machines I heard of Alex. Do you have some kind of environment in place to execute all the performance tests and even is able to analyze trends?

I'm currently setting up a small microbenchmark framework for so I'm able to do these things without any manual intervention.

eda said...


Anonymous said...

租辦公室租店面買辦公室店面租賃店面出租店面出售花茶花草茶養生茶招牌led招牌招牌製作美國月子中心保養美國月子中心OBU投審會會計師事務所會計師工商登記公司登記包子肉粽宅配美食四神湯搬家公司訂房訂房網花東旅遊桃園土地桃園房屋仲介桃園房屋桃園房屋網桃園房屋買賣漆彈搬家公司會場設計展場設計會場設計展場設計展覽設計消防設備消防設備機電崴立機電消防公司地板施工超耐磨地板店面出租乳癌全身健康檢查肝癌健康檢查身體檢查飛梭雷射雷射溶脂直航機票自由行三久太陽能三久太陽能太陽能熱水器別墅外觀設計環保袋別墅外觀設計室內裝修電波拉皮hand dryer電波拉皮雷射溶脂肉毒桿菌系統家具台中漆彈場漆彈團體服美國月子中心團體服

Anonymous said...


Anonymous said...

月子餐食譜找工作統一發票7 8月求職1111求職人力銀行104求職人力銀行104人力銀行統一發票5 6月104人力銀行104求職人力銀行塑膠袋統一發票1 2月塑膠袋批發塑膠袋工廠金價黃金價格統一發票3 4月1111人力銀行1111人力銀行求職黃金價格查詢中古車買賣塑膠袋統一發票3 4月塑膠袋批發中古車中古車買賣台北人力銀行金價查詢sum中古車中古車貸款信用貸款房屋貸款剖腹生產 命理網 姓名學 姓名配對 星座 星座運勢 算命 開運印章 風水 外遇 徵信 徵信社 外遇 徵信 徵信社 外遇 徵信 徵信社 外遇 徵信 徵信社 外遇 徵信 徵信社 外遇 徵信 徵信社 搬家公司 搬家公司 台北搬家公司 新竹搬家公司

Anonymous said...

I like your blog. Thank you. They are really great .
Some new style Puma Cat shoes is in fashion this year.
The Nike Air Shoes is a best Air Shoes .
Nike Air Rift is good and Cheap Nike Shoes.
If you are a fans of Puma basket,we would offer the good and Cheap Puma Shoes for you .the cheap ugg bootsis best christmas gift now.
The information age is really convenient .

Anonymous said...

puma mens shoes
puma shoes
puma speed
nike shoes
nike air
nike air shoes
nike air max 90
nike air max 95
nike air max tn
nike air rift
nike shox r4
nike air max 360
nike shox nz
puma cat
air max trainers
mens nike air max
sports shoes
nike air rifts
nike air rift trainer
nike air
nike shoes air max
nike shoes shox
air shoes
nike shoe cart
puma future
cheap puma
nike rift
jeans shop
diesel jeans
levis jeans
nike rift shoes
cheap nike air rifts
bape shoes

Anonymous said...





Nike shox shoes said...
This comment has been removed by the author.
Nike shox clearance said...

Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts.Any way Ill be subscribing to your feed and I hope you post again soon.

Our company provides Nike Shox Clearance rapid and safe, free shipping network marketing.

Nike shox shoes said...

Rich men without convictions are more dangerous in modern society than poor woman without chastity

Nike shox shoes can surely not let you down,romance yourself with nike shox

Nike shox said...

Not too long ago, I did not give a lot of thought to leaving responses on weblog page posts and have positioned feedback even less. Studying by by means of your nice put up, will assist me to do so sometimes.Having a look Nike shox. Good things or not you have the final say.

Anonymous said...

This is a great post,which has a lot of readers.
Such kind of post giving us various knowaledge,it worthy to read.It is so wonderful.

Tiffany JewelryTiffany Jewelry,Tiffany Jewelry sale,Cheap Tiffany Jewelry,Discount tiffany jewelry,replica tiffany jewelry

aa said...

As I write this post—longhandOffice 2010in a spiral notebook—I’m 20,000 feet above eastern Washington, having Microsoft Office 2010just crossed above the Cascades on my return flight Microsoft wordto Chicago. I visited Seattle for the weekend to Office 2007and I have known each other for 20 years now. They Microsoft Officehad a lovely ceremony, and the trip in general was fantastic.Microsoft Office 2007In the 13 years since I left Seattle, I’ve Office 2007 keyvisited six or seven times, and I always return to wherever has Office 2007 downloadOffice 2007 Professionalbecome home with mixed feelings about the place. It Outlook 2010both alarms and pleases me to see howMicrosoft outlookthat once-familiar areas seem almost foreign. ForMicrosoft outlook 2010neighborhoods have changed, to the point Windows 7 as have cookie-cutter, here-today-and-gone-tomorrow nightclubs that cater to the shiny shirt crowd.

Anonymous said...

Anonymous said...

Anonymous said...

Tattoo Girls said...

李小 said...

Do I believe the first RS Moneyidiom has its own area? Confident. It offers a superior pertaining to composable synchronization, that's significant if you want to decouple ones gw2 Goldsynchronization out of your call-stack

abdhul ece89 said...

Nice and Informative article, thanks for sharing your views and ideas...

Java Training in Chennai

Jenny Lee said...

Great blog...
outsource invoice processing services