performance monitoring with aop and amazon cloudwatch

23
Performance Monitoring Yan Cui pseudo-RT with AOP & AWS by @theburningmonk

Upload: yan-cui

Post on 25-Jun-2015

12.196 views

Category:

Technology


9 download

DESCRIPTION

This talk outlines how to easily set up pseudo-RT performance monitoring for your application using an AOP framework such as PostSharp in conjunction with the Amazon CloudWatch service.

TRANSCRIPT

Page 1: Performance Monitoring with AOP and Amazon CloudWatch

Performance Monitoring

Yan Cui

pseudo-

RT

withAOP & AWS

by@theburningmonk

Page 2: Performance Monitoring with AOP and Amazon CloudWatch

Server-side Developer @

Page 3: Performance Monitoring with AOP and Amazon CloudWatch

iwi by numbers• 400k+ DAU

• ~100m requests/day

• 25k+ concurrent users

• 1500+ requests/s

• 7000+ IO opts/s

• 100+ commodity servers

• 75ms average latency

Page 4: Performance Monitoring with AOP and Amazon CloudWatch

What is my code doing at runtime?

Page 5: Performance Monitoring with AOP and Amazon CloudWatch

Runtime Monitoring != Profiling

Page 6: Performance Monitoring with AOP and Amazon CloudWatch

Monitoring

• Difficult in a distributed environment

• Lots of effort to set up

Page 7: Performance Monitoring with AOP and Amazon CloudWatch

Monitoring

• Achievable in 3 simple steps

1. Gather runtime data

2. Publish

3. Visualize

Page 8: Performance Monitoring with AOP and Amazon CloudWatch

Gathering Data

• Method execution time

• Method execution count

• Error count

• Requires (lots) boilerplate to set up

Page 9: Performance Monitoring with AOP and Amazon CloudWatch

AOP to the rescue!

Page 10: Performance Monitoring with AOP and Amazon CloudWatch

AOP

• Aspect Oriented Programming

• Cross-Cutting Concerns

• PostSharp

Page 11: Performance Monitoring with AOP and Amazon CloudWatch

Image by Mike Rohde

PostSharp

Page 12: Performance Monitoring with AOP and Amazon CloudWatch

Code demo goes here

Page 13: Performance Monitoring with AOP and Amazon CloudWatch

Publish

• Where to?...

• Amazon CloudWatch

Page 14: Performance Monitoring with AOP and Amazon CloudWatch

Visualize

Page 15: Performance Monitoring with AOP and Amazon CloudWatch

Alarms

Page 16: Performance Monitoring with AOP and Amazon CloudWatch

Notifications

• Notify via email/SMS

Page 17: Performance Monitoring with AOP and Amazon CloudWatch

Image by Mike Rohde

CloudWatch

Page 18: Performance Monitoring with AOP and Amazon CloudWatch

Visualize

• Amazon Management Console

–Min, Max, Average, Count

–Up to 14 days of data

–Down to 1 minute intervals

Page 19: Performance Monitoring with AOP and Amazon CloudWatch

Amazon CloudWatch

• Cheap

• Supports alarms and notifications

• Visualization tool

Page 20: Performance Monitoring with AOP and Amazon CloudWatch

AOP + Amazon CloudWatch =

Page 21: Performance Monitoring with AOP and Amazon CloudWatch

What to Monitor?

• IO operations

• CPU intensive operations

• Service entry-points

Page 22: Performance Monitoring with AOP and Amazon CloudWatch

Caution

• Overhead

• Only monitor what you need

• Make it configurable/optional?

Page 23: Performance Monitoring with AOP and Amazon CloudWatch

Thank You!

@theburningmonk