a support engineer walkthrough on pt stalk
play

A Support Engineer Walkthrough on pt-stalk Marcos Albe Marcelo - PowerPoint PPT Presentation

A Support Engineer Walkthrough on pt-stalk Marcos Albe Marcelo Altmann Principal Support Engineer - Percona Senior Support Engineer - Percona Thank You Sponsors! 2 April 23-25, 2018 SAVE THE DATE! Santa Clara Convention Center CALL FOR


  1. A Support Engineer Walkthrough on pt-stalk Marcos Albe Marcelo Altmann Principal Support Engineer - Percona Senior Support Engineer - Percona

  2. Thank You Sponsors! 2

  3. April 23-25, 2018 SAVE THE DATE! Santa Clara Convention Center CALL FOR PAPERS OPENING SOON! www.perconalive.com 3

  4. Who is speaking ?

  5. Who is Speaking ? • Marcelo Altmann - Senior Support Engineer @ Percona - Resident specialist on Surf & Brazil leisure • Marcos Albé - Principal Support Engineer @ Percona - Chief Barbeque Officer & Designated Beer Analyst 5

  6. Agenda

  7. Agenda • What do we USE • Who’s stalkin’? • How pt-stalk can be USEd • Walkthrough 7

  8. What do we USE

  9. We use one of these... 9

  10. U tilization 10

  11. U tilization S aturation 11

  12. U tilization S aturation E rrors 12

  13. 13

  14. Who’s stalkin’?

  15. check out those resources! 15

  16. Who’s stalkin’? • Aspersa stalk + Aspersa collect in one! (thanks Daniel & Baron) • # The name 'stalk' is because 'watch' is already taken, and 'stalk' is fun. • Now part of pt-toolkit • Monitors variable or a script’s single-valued output • Triggers capture when set threshold is reached - f iles from /proc: diskstats, interrupts, meminfo, slabinfo, procstat, procvmstat. - vmstat, iostat, top, netstat, pmap, mpstat, sysctl, df, hostname, mysqladmin ext, mysqladmin debug, lsof). - SHOW ENGINE INNODB STATUS, SHOW ENGINE INNODB MUTEX, SHOW GLOBAL VARIABLES, SHOW FULL PROCESSLIST and SHOW OPEN TABLES. • Production safe! • Custom triggers and custom captures • Companion tools (pt-sift, pt-mext, pt-diskstats, pt-summary); Bash dissection 16

  17. Who’s stalkin’: common parameters • Stalking part - --daemonize | --no-stalk - --function=status - --interval=1 - --variable=Threads_running - --threshold=25 - --cycles=5 • Collecting part - --run-time=30 - --sleep=300 - --iterations= - --plugin= - --dest=/var/lib/pt-stalk • Values shown are the defaults for each (where given) 17

  18. Who’s stalkin’: work flow 18

  19. Who’s stalkin’: working examples I Collect data during 60 seconds for 3 consecutive times, starting immediately. pt-stalk --no-stalk \ --dest=$HOME/percona \ --user=root \ --ask-pass \ --run-time=60 --sleep=60 --iterations=3 19

  20. Who’s stalkin’: working examples II Run as a daemon and trigger collection if InnoDB has more than 5 pending fsyncs. pt-stalk --daemonize \ --function=status \ --variable=Innodb_data_pending_fsyncs \ --threshold=5 \ --cycles=2 \ --interval=1 \ --iterations=5 \ --plugin=/usr/local/bin/raid_card_status.sh 20

  21. Who’s stalkin’: custom triggers #!/bin/bash # Save this bash snippet as /root/delayed_slave_trg.sh; trg_plugin() { mysql $EXT_ARGV -Ee "SHOW SLAVE STATUS" | \ grep "Seconds_Behind_Master" | \ awk "{ print $2 }"; } # use like pt-stalk --function=/root/delayed_slave_trg.sh --etc --etc 21

  22. Who’s stalkin’: custom capture #!/bin/bash # save as /root/collect_perf.sh before_collect() { # run perf stat; match sleep length to --run-time /usr/bin/perf stat --all-cpus \ --output=${d}/${p}-stat_a \ -- sleep ${OPT_RUN_TIME}; } # use like pt-stalk --plugin= /root/collect_perf.sh --etc --etc 22

  23. How pt-stalk can be USE’d

  24. How pt-stalk can be USE’d Applications System libraries System Call Interface CPU Interconnect VFS Sockets Scheduler CPU File Systems TCP/UDP Linux Kernel Volume Manager IP Virtual Memory Memory Bus Block Device Interface Ethernet DRAM Device Drivers I/O Bus I/O Bridge Expander Interconnect I/O Controller Network Controller Interface Transports Disk Disk Swap Port Port 24

  25. SHOW ENGINE INNODB STATUS SHOW ENGINE INNODB MUTEX oprofile SHOW OPEN TABLES /proc/interrupts Applications (MySQL!) SHOW FULL PROCESSLIST /proc/procstat System libraries SHOW ENGINE TOKUDB STATUS mpstat System Call Interface SHOW GLOBAL VARIABLES CPU Interconnect VFS Sockets SHOW SLAVE STATUS Scheduler CPU mysqladmin ext ps File Systems TCP/UDP Linux Kernel gdb (backtraces) top strace Volume Manager IP Virtual Memory Memory Bus vmstat Block Device Interface Ethernet lsof /proc/meminfo df /proc/slabinfo DRAM Device Drivers iostat /proc/vmstat I/O Bus pmap /proc/diskstats netstat sysctl tcpdump I/O Bridge Expander Interconnect I/O Controller Network Controller Interface Transports Disk Disk Swap Port Port 25

  26. How pt-stalk can be USE’d: Here Be Dragons! gdb (backtraces) oprofile strace tcpdump 26

  27. A walkthrough

  28. A walkthrough Using pt-stalk to solve problems with... ● ...High IO ● ...High CPU ● ...Networking 28

  29. Useful links ● grep commands - https://gist.github.com/altmannmarcelo/eec40a54568299c2cc11b6cf5859 203d ● Check List - http://www.brendangregg.com/USEmethod/use-linux.html 29

  30. Questions ? Marcelo Altmann Marcos Albe @altmannmarcelo marcos.albe@percona.com marcelo.altmann@percona.com

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend