Presentation on theme: "Using Trace API to diagnose performance bottlenecks on production servers Nikolay Samofatov, Chief Technology Officer RED SOFT CORPORATION."— Presentation transcript:
Using Trace API to diagnose performance bottlenecks on production servers Nikolay Samofatov, Chief Technology Officer RED SOFT CORPORATION
Situation: performance of a production instance of your application is unacceptable What are the causes of the performance problem? You have made some changes to remedy for problem. How the changes in the application and/or database have really affected the performance? How do you prove to the client that the performance has indeed improved?
To answer these questions you need the performance measurement toolset Detect and flag obvious performance issues on the fly Collect and save performance data for further analysis and comparison Analyze production server under load without hurting its performance and reliability
Is there a solution for these challenges for Firebird?
Yes, and this is Trace API ! Server-side instrumentation framework designed to minimize the impact on a running server Available in Red Database, BroadView branch of Firebird and for other Firebird users in a form of patch against Firebird 2.0 Functionality to detect performance issues on the fly Text format trace logs and event filtering rules Functionality to capture and store detailed performance statistics Binary format trace logs and tools for analysing them. Red Soft has the necessary tools to support its own consulting practice, however third-party tools developers are encouraged to take action
Binary trace logs can be used to answer important performance questions Simple questions What are the heaviest queries during the day? What are the longest transactions? More complex issues Which indices in the database are never used? What are the tables with the most activity? Some questions that can be answered with the help of context variables and the applications support What are the maximum and average response times for the user? Which functions of an application consume the most of resources and are worth optimizing?
Tools development roadmap Load the collected performance data into a database for off-line analysis Asynchronously screen the performance logs for problems Create own implementations for Trace API plug-ins
Questions and Contacts RED SOFT CORPORATION www.red-soft.biz Nikolay Samofatov, Chief Technology Officer firstname.lastname@example.org Office Phone: +7 495 721 35 37