Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)

vTune on database application

Bony
Beginner
337 Views

I am now working on a database system written in C++ and mysql. I want to evaluate the hardware performance and possibly find out the bottleneck of my database application. Could vTune help to investigate this issue? Because I know vTune can support C++ application but I wonder if it can support mysql as well. 

I am very new to vTune Performance Analyzer. I hope someone can help me with this simple question.

0 Kudos
3 Replies
Peter_W_Intel
Employee
337 Views
In general speaking - user-mode data collection (Hotspots, Concurrency, Locksandwaits) is to profile single process (including child processes) and target application works in user mode, assume that you run C++ module then call mysql database via interface, but mysql database is an existing process - it is not proper to use user-mode data collection, because they work in different process. I recommend to use PMU event-based sampling, for example - "lightweight-hotspots" can profile your target process (C++ based) and other active processes (including mysql process), note that you have to specify "-analyze-system" or do same thing in your project properties on GUI. Thus, all performance data classified in processes will be display - and your can filter these data based on your needs.
0 Kudos
Peter_W_Intel
Employee
337 Views
In general speaking - user-mode data collection (Hotspots, Concurrency, Locksandwaits) is to profile single process (including child processes) and target application works in user mode, assume that you run C++ module then call mysql database via interface, but mysql database is an existing process - it is not proper to use user-mode data collection, because they work in different process. I recommend to use PMU event-based sampling, for example - "lightweight-hotspots" can profile your target process (C++ based) and other active processes (including mysql process), note that you have to specify "-analyze-system" or do same thing in your project properties on GUI. Thus, all performance data classified in processes will be display - and your can filter these data based on your needs.
0 Kudos
SergeyKostrov
Valued Contributor II
337 Views
>>...I am now working on a database system written in C++ and mysql. I want to evaluate the hardware performance and possibly find out >>the bottleneck of my database application. Could vTune help to investigate this issue? When it comes to relational databases there are database performance evaluation tools, like MS SQL Profiler, that allow to do 'SQL tracing' and could build an 'SQL plan'. A performance of your database application depends on many-many factors absolutely not related to what Vtune was designed for. You could have a problem(s) related to: - poor normalization of a database, for example only to the 2nd NF instead of to the 4th NF ( NF stands for Normal Form ) - a significant amount processing on a Client side instead of on a Server side - lack of processing with stored procedures ( see above ) - a missing index(s) on some columns of some tables ( when an index is not created a full scan of a table needs to be done to find some record ) - an excessive use of triggers or defaults on some column(s), etc.
0 Kudos
Reply