Performance Co-Pilot
-
Upload
yoshikawa-ryota -
Category
Engineering
-
view
782 -
download
4
Transcript of Performance Co-Pilot
Performance*Co,Pilot*(PCP)
hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 1
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
Architecture
hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 3
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
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
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
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
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
GUI$Interfaces
hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 9
pmchart((GUI(client)(7
7"h$p://pcp.io/docs/lab.pmchart.html
hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 10
Ne#lix/vector-8
8"h$ps://github.com/Ne4lix/vector
hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 11
pcp#webjs(grafana)09
9"h$ps://github.com/performancecopilot/pcp8webjs
hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 12
Demo• pmcd
• pmda
• pmlogger
• pmchart
• vector
hbstyle((2015/04/09)(2(Yoshikawa(Ryota((@rrreeeyyy) 13
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