
PoorMansProfilerSoftware
- Sais_tu aimer ?Magazine
- H. R. McMasterGovernment Official
- GameRangerSoftware
- Je t'aime mon coeurHealth & Wellness Website
- Messenger-inboxSoftware
- Vivons le moment présentJust For Fun
- rAthenaSoftware
- Musica del Cuore & FriendsMusician/Band
There is another member of the PMP family - https://github.com/markhpc/gdbpmp
Another example of performance debugging with PMP
http://smalldatum.blogspot.com/…/rocksdb-forestdb-via-fores…
Another use of PMP - http://jamesgolick.com/…/innodb-kernel-mutex-contention-and…
This is awesome even if PMP didn't get mentioned. I think "perf" is getting PMP-like support.
Netflix Architect Brendan Gregg Offers Template for Monitoring Linux Performance Tools - http://www.linux.com/…/785426-a-template-for-monitoring-lin…
strace + PMP -> perfect together
https://code.google.com/p/strace-plus/
More debugging with PMP
http://smalldatum.blogspot.com/2014/04/biebermarks.html
Another use of PMP for MongoDB - http://nelhagedebugsshit.tumblr.com/…/slow-mongo-foreground…
Another win for PMP, there are many more but I forget to mention them here.
https://www.facebook.com/MySQLatFacebook/posts/10151896477048527
How do you debug this in your favorite flavor of MySQL?
I looked at a few hosts that had replication lag. The server had a load spike but that wasn't the real p...roblem. The replication SQL thread wasn't able to keep up because it was spending a lot of time finding dirty pages to write back for fuzzy checkpoint IO. I used PMP (https://www.facebook.com/poormansprofiler) to discover the problem. The root cause were too low values for innodb_io_capacity and innodb_io_capacity_max and the result was that the background InnoDB threads were not doing enough work which meant that foreground threads, in this case the replication SQL thread, were forced to do that work.
How do you debug this in your version of MySQL? In the FB patch and in Percona Server there is data in SHOW ENGINE INNODB STATUS that shows whether threads will block for fuzzy checkpoint IO -- either sync or async. The FB patch also has the output in SHOW GLOBAL STATUS variables so monitoring could alert on it or a diagnostics tool could check it. From a quick reading of that output for upstream 5.6 I don't see anything similar.
http://www.xaprb.com/…/…/29/how-innodb-performs-a-checkpoint
Used PMP twice this week:
1) debugged a stall from excessive usage of shared_ptr. Concurrent threads updating the ref count hidden in the shared_ptr doesn't scale when frequently changed especially with a 2 socket server
2) show that fsync really was the bottleneck on a workload using RocksDB
PoorMansProfiler for Oracle -- http://blog.tanelpoder.com/…/troubleshooting-high-cpu-usag…/
PoorMansProfiler shared Domas Mituzas's photo.
PMP goes mainstream, in High Performance MySQL, 3rd edition
HPMP style analysis of MySQL accept thread visualized.
The hpmp script dumping the stacks of main accept thread was relatively straightforward: http://p.defau.lt/?dsWU8xytkXX_KGhbrKTYAA
(I finally learned to do ratio of log(nsamples) instead of pure ratio for graph colors - looks much nicer. Next - utilizing HSV color scale for (x,y) color visualization
I was wondering whether people use JPMP (PMP for Java). Apparently they do. I spoke with several co-workers who have been doing that to make HBase faster.
























