performance co-pilot

14
Performance Co,Pilot (PCP) hbstyle (2015/04/09) 2 Yoshikawa Ryota (@rrreeeyyy) 1

Upload: yoshikawa-ryota

Post on 19-Jul-2015

787 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: Performance Co-Pilot

Performance*Co,Pilot*(PCP)

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 1

Page 2: Performance Co-Pilot

Performance*Co,Pilot*(PCP)*1

• System(performance(and(analysis(framework.

• Fully(distributed,(plug;in(based(architecture

• Par>cularly(well(suited(to(centralized(analysis(of(complex(environments(and(systems

• Custom(performance(metrics(can(be(added(using(the(C,(C++,(Perl,(and(Python(interfaces.

1"h$p://pcp.io/"(Copyright"©"200052004"Silicon"Graphics"Inc,"200752010"Aconex,"2012$2015&Red&Hat)

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 2

Page 3: Performance Co-Pilot

Architecture

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 3

Page 4: Performance Co-Pilot

pmcd%(metrics%collector)%2

• Collector)used)by)the)pcp.

• Accepts)connec4ons)from)client)applica4ons)running)either)on)the)same)machine)or)remotely)and)provides)them)with)metrics)and)other)related)informa4on)from)the)machine)that)pmcd)is)execu4ng)on.

• Delegates)most)of)this)request)servicing)to)a)collec4on)of)Performance)Metrics)Domain)Agents)(or)just)agents)

2"h$p://www.pcp.io/man/man1/pmcd.1.html

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 4

Page 5: Performance Co-Pilot

pmda%(metrics%agent)%3

• Responsible+for+a+set+of+performance+metrics,+in+the+sense+that+it+must+respond+to+requests+from+pmcd(1)+for+informa:on+about+performance+metrics,+instance+domains,+and+instan:ated+values.+

• pmcd+process+generates+requests+on+behalf+of+performance+tools

• Provides+implementa:ons+in+C,+Perl+and+Python.+

3"h$p://linux.die.net/man/3/pmda

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 5

Page 6: Performance Co-Pilot

pmlogger((metrics(logger)(4

• Creates(the(archive(logs(of(performance(metric(values(that(may(be(played(back(by(other(pcp(tools.

# config filelog mandatory on once { hinv.ncpu hinv.ndisk }log mandatory on every 10 minutes { disk.all.write disk.all.read network.interface.in.packets [ "et0" ] network.interface.out.packets [ "et0" ] nfs.server.reqs [ "lookup" "getattr" "read" "write" ]}

log advisory on every 30 minutes { environ.temp pmcd.pdu_in.total pmcd.pdu_out.total}

4"h$p://www.pcp.io/man/man1/pmlogger.1.html

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 6

Page 7: Performance Co-Pilot

pmie%(metrics%inference%engine)%5

• Automated*filtering*and*reasoning*about*performance.

// Any disk performing more than 40 I/Os per second, sustained over// at least 30 seconds is probably busydelta = 30 seconds;disk_busy = some_inst ( $disk.dev.total > 40 count/sec ) -> shell 15 mins "Mail -s 'Heavy sustained disk traffic' sysadm </dev/null";>// hold off repetition of the action for 15 mins.

5"h$p://www.pcp.io/pcp-gui.git/man/html/lab.pmie.html

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 7

Page 8: Performance Co-Pilot

Installa'on)6

• Binary(packages(for(Linux((deb(and(rpm(formats),(Mac(OS(X,(Solaris(and(Windows(are(made(available

• Available(on(all(recent(distribuDon(releases

• Debian/Fedora/RHEL/Ubuntu## ex.)# yum install pcp# chkconfig pmcd on# service pmcd start# chkconfig pmlogger on# service pmlogger start

6"h$p://pcp.io/docs/installa2on.html

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 8

Page 9: Performance Co-Pilot

GUI$Interfaces

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 9

Page 10: Performance Co-Pilot

pmchart((GUI(client)(7

7"h$p://pcp.io/docs/lab.pmchart.html

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 10

Page 11: Performance Co-Pilot

Ne#lix/vector-8

8"h$ps://github.com/Ne4lix/vector

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 11

Page 12: Performance Co-Pilot

pcp#webjs(grafana)09

9"h$ps://github.com/performancecopilot/pcp8webjs

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 12

Page 13: Performance Co-Pilot

Demo• pmcd

• pmda

• pmlogger

• pmchart

• vector

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 13

Page 14: Performance Co-Pilot

PCP's%Tes(monial%10

• aconex

• University/at/buffalo

• Ne5lix

• MessageMedia

• RedHat

10#h%p://pcp.io/tes0monials.html

hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 14