When running Erlang systems under heavy load, the usual tools for introspection of the VM and its workload add too much overhead to be usable or are too fragile for use in production. They can change the characteristics of the VM's workload, potentially masking performance issues.
I will discuss less obtrusive measurements that can be made, including discussing a set of tools I have developed which build on the Linux kernel's performance monitoring infrastructure to provide out-of-VM inspection of Erlang systems.
Finally, I will look at some kinds of performance problems that can be detected this way and some approaches to ameliorating them.
Talk objectives:
The goal is to provide a new way of looking at the measurement of the performance of Erlang systems and to encourage people to "think outside the VM” when they need to.
Target audience:
Developers trying to characterize performance problems in heavily loaded Erlang systems in production.
Slides
Julian worked in CORBA and distributed middleware before converting to the cult of Erlang for distributed systems, with a foray along the way into financial systems. He now works on real-time bidding systems at AdGear Technologies. GitHub:
tokenrove
Twitter:
@tokenrove