Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Performance Monitoring with AOP and Amazon CloudWatch

15,588 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
  • Be the first to comment

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

×