Thread: Best Profiler for PostgreSQL

Best Profiler for PostgreSQL

From
Reydan Cankur
Date:
Hi,

I am running PostgreSQL-8.4.0 on a SMP Server which has 32 processors
(32X2=64 cores). I am working on database parallelism and I need to do
profiling in order to find the relevant parts to parallelize. I wrote
15 queries which are performing select, sort, join, and aggregate
functions and  I want to  profile these queries and try to understand
where postgresql spends more time and then I will try to parallelize
source code(time spending parts) by using openMP. But I need guidance
about profiling tool, which is the best tool to profile queries. I
used gprof but I want to profile with a more advanced tool. Options
are oprofile and valgrind.

1) I can not decide which best suits for query profiling. oprofile or
valgrind?

2) Also for both I can not find documentation about profiling steps.

Please help,
Reydan

Re: Best Profiler for PostgreSQL

From
Robert Haas
Date:
On Wed, Sep 9, 2009 at 6:15 AM, Reydan Cankur <reydan.cankur@gmail.com> wrote:
> Hi,
>
> I am running PostgreSQL-8.4.0 on a SMP Server which has 32 processors
> (32X2=64 cores). I am working on database parallelism and I need to do
> profiling in order to find the relevant parts to parallelize. I wrote 15
> queries which are performing select, sort, join, and aggregate functions and
>  I want to  profile these queries and try to understand where postgresql
> spends more time and then I will try to parallelize source code(time
> spending parts) by using openMP. But I need guidance about profiling tool,
> which is the best tool to profile queries. I used gprof but I want to
> profile with a more advanced tool. Options are oprofile and valgrind.
>
> 1) I can not decide which best suits for query profiling. oprofile or
> valgrind?
>
> 2) Also for both I can not find documentation about profiling steps.

You might want to start with EXPLAIN ANALYZE.  That will tell you
where the time for each query is being spent.

...Robert