I'm trying to analyze performance of our application using Insight on tc server dev. edition. The tool is great, and it helped me find some bottlenecks in the running app.
However, some results shown by Insight are strange, and I don't know how to explain them.
First example (see attachment insight-result-web-dispatch.png) - the request takes about 100ms, but the spring dispatcher servlet needs almost half of this time to dispatch the request to the actual controller. Normally this time is unnoticeable. So why in this request such trivial task takes so long? There are no other request at the same time. Maybe GC turned on at the same time? Or Spring Insight simply is wrong from time to time?
The second example - rendering the response (see second screenshot). Our JsonResponse view renderer class is extremely simple - it takes a String with json data, and prints it to output stream, using code response.getWriter().write(json); In 95% of request it takes no time at all to run it (insight shows time 0ms). But from time to time it shows times like this: 150ms, 200ms. How can it be explained? Is it tcserver fault, that it renders it so slowly sometimes? Or again, Insight is wrong about timing?