Java, .NET & Node.js application slowness is not always due to code problems. Factors like garbage collection & virtualization overcommitment can make good code perform poorly.
This talk from the Code Stage at Web Summit 2015 discusses how to detect and resolve these "phantom" application performance issues.
The software featured is Riverbed SteelCentral AppInternals
www.appinternals.com