Performance Monitoring with AOP and Amazon CloudWatch

14,494 views
14,570 views

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
14,494
On SlideShare
0
From Embeds
0
Number of Embeds
9,282
Actions
Shares
0
Downloads
35
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Performance Monitoring with AOP and Amazon CloudWatch

  1. 1. Performance Monitoring with AOP & AWS by Yan Cui @theburningmonk
  2. 2. Server-side Developer @
  3. 3. iwi by numbers• 400k+ DAU• ~100m requests/day• 25k+ concurrent users• 1500+ requests/s• 7000+ IO opts/s• 100+ commodity servers• 75ms average latency
  4. 4. What is my code doing at runtime?
  5. 5. Runtime Monitoring != Profiling
  6. 6. Monitoring• Difficult in a distributed environment• Lots of effort to set up
  7. 7. Monitoring• Achievable in 3 simple steps 1. Gather runtime data 2. Publish 3. Visualize
  8. 8. Gathering Data• Method execution time• Method execution count• Error count• Requires (lots) boilerplate to set up
  9. 9. AOP to the rescue!
  10. 10. AOP• Aspect Oriented Programming• Cross-Cutting Concerns• PostSharp
  11. 11. PostSharp Image by Mike Rohde
  12. 12. Code demo goes here
  13. 13. Publish• Where to?...• Amazon CloudWatch
  14. 14. Visualize
  15. 15. Alarms
  16. 16. Notifications• Notify via email/SMS
  17. 17. CloudWatch Image by Mike Rohde
  18. 18. Visualize• Amazon Management Console – Min, Max, Average, Count – Up to 14 days of data – Down to 1 minute intervals
  19. 19. Amazon CloudWatch• Cheap• Supports alarms and notifications• Visualization tool
  20. 20. AOP + Amazon CloudWatch =
  21. 21. What to Monitor?• IO operations• CPU intensive operations• Service entry-points
  22. 22. Caution• Overhead• Only monitor what you need• Make it configurable/optional?
  23. 23. Thank You!@theburningmonk

×