33
Messen mit PHP PHP Usergroup München 10. Juli 2013

Messen mit PHP

Embed Size (px)

DESCRIPTION

Wenn man wissen will, was die eigene Applikation so macht, hilft messen. Als Appetizer für diejenigen, die eventuell vor einem ähnlichen Problem stehen. Vortrag bei der PHP Usergroup München.

Citation preview

Page 1: Messen mit PHP

Messen mit PHP

PHP Usergroup München10. Juli 2013

Page 2: Messen mit PHP

Über mich

● Sven Rautenberg● Senior Developer bei Kabel Deutschland● mit Vergangenheit bei SELFHTML

Page 3: Messen mit PHP

Motivation

„Ein Appetizer für statsd,

Live-Dashboards,Graphik,

Messungen“

Page 4: Messen mit PHP

Motivation

Page 5: Messen mit PHP

Etsy im Februar 2011

Page 6: Messen mit PHP

Prämisse

● Einfach messen● Alles messen● Und visualisieren

Page 7: Messen mit PHP

Dashboards

Page 8: Messen mit PHP

Let's try this at home!

Page 9: Messen mit PHP

Setup-Plan

Page 10: Messen mit PHP

Setup-PlanSoftware

Software

Software

System

Page 11: Messen mit PHP

Setup-PlanSoftware

Software

Software

System

Aggregatorstatsd

Page 12: Messen mit PHP

Setup-PlanSoftware

Software

Software

System

Aggregatorstatsd

StorageCarbon

Page 13: Messen mit PHP

Setup-PlanSoftware

Software

Software

System

Aggregatorstatsd

StorageCarbon

ViewerGraphite

Page 14: Messen mit PHP

Setup-PlanSoftware

Software

Software

System

Aggregatorstatsd

StorageCarbon

ViewerGraphite

Backendes gibt reichlich Auswahl,

auch SaaS-Angebote

Page 15: Messen mit PHP

Setup-PlanSoftware

Software

Software

System

Aggregatorstatsd

StorageCarbon

ViewerGraphite

Implementiert innode.js, Ruby, Python, Erlang, C, Scala, Clojure

Backendes gibt reichlich Auswahl,

auch SaaS-Angebote

Page 16: Messen mit PHP

Installieren

● Graphite einigermaßen schwierig– http://kaivanov.blogspot.de/2012/02/

how-to-install-and-use-graphite.html

● Django SECRET_KEY– „settings.py“ der Graphite Webapp

Page 17: Messen mit PHP
Page 18: Messen mit PHP

Installieren

● statsd supereinfach– apt-get install nodejs

– git clone https://github.com/etsy/statsd

– cd statsd

– cp exampleConfig.js yourConfig.js

– vi yourConfig.js

– node statsd.js ./yourConfig.js → läuft :)

Page 19: Messen mit PHP

Messen in PHP

Page 20: Messen mit PHP

Messen: Counter

foo.event:1|c

foo.event:-1|c

foo.event:20|c

Page 21: Messen mit PHP

Messen: Timer

foo.duration:123|ms

Page 22: Messen mit PHP

Messen: Gauges

foo.level:234|g

foo.level:+5|g

foo.level:-3|g

Page 23: Messen mit PHP

Messen: Sets

foo.ids:15675672|s

Page 24: Messen mit PHP

Counter vs. Gauges vs. Sets

● Counter: neu registrierte User pro Minute● Gauge: Anzahl existenter User● Set: Anzahl aktiver User

– aufgrund der UserId

– pro Zeit

Page 25: Messen mit PHP

Timer-Features

● Auto-Statistik– lower

– upper

– mean

– median

– count...

Page 26: Messen mit PHP

Sampling

foo.bar:1|c|@0.1

Page 27: Messen mit PHP

PHP Clients

● packagist.org → statsd suchen● in Code integrieren ;)

– $statsd->timing("foo.bar", 320);– $statsd->increment("foo.bar");

Page 28: Messen mit PHP

Messwerte wiederfinden

● Namensaspekte– http://matt.aimonetti.net/posts/2013/06/26/

practical-guide-to-graphite-monitoring/

● Antipattern– https://github.com/lukevenediger/statsd.net/

blob/master/statsd.net/Documentation/guidance/metric-anti-patterns.md

Page 29: Messen mit PHP
Page 30: Messen mit PHP

Erfahrungen aus 1 Tag rumspielen

● langweilig ohne Datenmengen● statistisch ungenau● Konfigurationsvielfalt● Funktionsvielfalt in Graphite

Page 31: Messen mit PHP

Fragen?

Anmerkungen?

Kommentare?

Page 32: Messen mit PHP

Kontakt

● Slideshare: http://www.slideshare.net/svenrtbg

● Twitter: @svenrtbg● http://www.rtbg.de

Page 33: Messen mit PHP

Attribution● Background: CC-BY

– http://www.freeimageslive.co.uk/free_stock_image/numbers-background-jpg

– http://www.freeimageslive.co.uk/users/gratuit