2015-06-08 12:30 GMT-03:00 Adrian Klaver <adrian.kla...@aklaver.com>:

> On 06/08/2015 07:59 AM, Anderson Valadares wrote:
>
>> Hi
>>   We are experiencing an intermittent problem in a GIS database from a
>> client. Some times of the day is as if the PostgreSQL executed the
>> slowest operations see below an example. The query was performed three
>> times, twice I canceled and the third time I left it to end. The
>> consultation took 10 seconds to finish, but the measured execution time
>> is 20 ms. As we have several queries that run every 2 seconds when this
>> momentary delay occurs queries accumulate and burst the limit of 203
>> connections allowed. The interval of "momentary stop" are approximately
>> 2 seconds occurring at random times and during these stoppages occur no
>> locks and no increased load on the server is identified. There is a job
>> 2/2 seconds locks collection of information, running queries, etc., nmon
>> also collects information every 2 seconds.
>>
>
> I do not have an answer, but I do have a question. What does:
>
> "There is a job
> 2/2 seconds locks collection of information, running queries, etc"
>
> mean?
>
>
>
> My client asks what causes
>
>> these momentary stops? because it affects all operations of the
>> database? etc. How do I identify what is causing these delays in
>> executions of operations in the database?
>>
>> The Server is a IBM P720 128G RAM PostgreSQL 9.2.9 on
>> powerpc-ibm-aix7.1.0.0, compiled by gcc (GCC) 4.6.4, 64-bit
>>
>> Evolution of the number of connections for a period
>>
>> snap_datetime                       |  #connections
>> ----------------------------------------------+-------------
>> 2015-06-05 09:25:00.954731-03 |74
>> 2015-06-05 09:26:00.249187-03 |205
>> 2015-06-05 09:27:00.826874-03 |207
>> 2015-06-05 09:28:00.374666-03 |73
>> 2015-06-05 09:29:00.690696-03 |75
>>
>>
>> Occurrence of the problem
>>
>> citgis=# select max(dvi_sub.dvi_cod_dados_via_iti) as
>> dvi_cod_dados_via_iti,
>>              dvi_sub.via_cod_viagem
>>               from gis_dvi_dados_viagem_itinerario dvi_sub,
>> gis_via_viagem via_sub, gis_iti_itinerario iti_sub
>>               where dvi_sub.via_cod_viagem = via_sub.via_cod_viagem
>>                 and via_sub.via_status_viagem = 'A'
>>                 and via_sub.via_dt_hora_ini > now() - interval '9 hours'
>>                 and iti_sub.lin_cod_linha = 389
>>                 and iti_sub.iti_sentido_itinerario = 'I'
>>                 and iti_sub.iti_cod_itinerario_linha =
>> via_sub.iti_cod_itinerario_linha
>>                 and dvi_sub.vlo_cod_localizacao is not null
>>               group by dvi_sub.via_cod_viagem,
>> iti_sub.iti_cod_itinerario_linha, via_sub.equ_cod_eqpto
>> ;
>> Cancel request sent
>> ERROR:  canceling statement due to user request
>> Time: 2555.557 ms
>> citgis=# select max(dvi_sub.dvi_cod_dados_via_iti) as
>> dvi_cod_dados_via_iti,
>>              dvi_sub.via_cod_viagem
>>               from gis_dvi_dados_viagem_itinerario dvi_sub,
>> gis_via_viagem via_sub, gis_iti_itinerario iti_sub
>>               where dvi_sub.via_cod_viagem = via_sub.via_cod_viagem
>>                 and via_sub.via_status_viagem = 'A'
>>                 and via_sub.via_dt_hora_ini > now() - interval '9 hours'
>>                 and iti_sub.lin_cod_linha = 389
>>                 and iti_sub.iti_sentido_itinerario = 'I'
>>                 and iti_sub.iti_cod_itinerario_linha =
>> via_sub.iti_cod_itinerario_linha
>>                 and dvi_sub.vlo_cod_localizacao is not null
>>               group by dvi_sub.via_cod_viagem,
>> iti_sub.iti_cod_itinerario_linha, via_sub.equ_cod_eqpto
>> ;
>> Cancel request sent
>> ERROR:  canceling statement due to user request
>> Time: 2192.572 ms
>> citgis=# explain analyze select max(dvi_sub.dvi_cod_dados_via_iti) as
>> dvi_cod_dados_via_iti,
>>              dvi_sub.via_cod_viagem
>>               from gis_dvi_dados_viagem_itinerario dvi_sub,
>> gis_via_viagem via_sub, gis_iti_itinerario iti_sub
>>               where dvi_sub.via_cod_viagem = via_sub.via_cod_viagem
>>                 and via_sub.via_status_viagem = 'A'
>>                 and via_sub.via_dt_hora_ini > now() - interval '9 hours'
>>                 and iti_sub.lin_cod_linha = 389
>>                 and iti_sub.iti_sentido_itinerario = 'I'
>>                 and iti_sub.iti_cod_itinerario_linha =
>> via_sub.iti_cod_itinerario_linha
>>                 and dvi_sub.vlo_cod_localizacao is not null
>>               group by dvi_sub.via_cod_viagem,
>> iti_sub.iti_cod_itinerario_linha, via_sub.equ_cod_eqpto
>> ;
>> Cancel request sent
>> ERROR:  canceling statement due to user request
>> Time: 10164.015 ms
>> citgis=# select now();
>>                now
>> -------------------------------
>>   2015-06-05 09:27:22.006072-03
>> (1 row)
>>
>> Time: 0.152 ms
>> citgis=# select max(dvi_sub.dvi_cod_dados_via_iti) as
>> dvi_cod_dados_via_iti,
>>              dvi_sub.via_cod_viagem
>>               from gis_dvi_dados_viagem_itinerario dvi_sub,
>> gis_via_viagem via_sub, gis_iti_itinerario iti_sub
>>               where dvi_sub.via_cod_viagem = via_sub.via_cod_viagem
>>                 and via_sub.via_status_viagem = 'A'
>>                 and via_sub.via_dt_hora_ini > now() - interval '9 hours'
>>                 and iti_sub.lin_cod_linha = 389
>>                 and iti_sub.iti_sentido_itinerario = 'I'
>>                 and iti_sub.iti_cod_itinerario_linha =
>> via_sub.iti_cod_itinerario_linha
>>                 and dvi_sub.vlo_cod_localizacao is not null
>>               group by dvi_sub.via_cod_viagem,
>> iti_sub.iti_cod_itinerario_linha, via_sub.equ_cod_eqpto
>> ;
>>   dvi_cod_dados_via_iti | via_cod_viagem
>> -----------------------+----------------
>>              1059964443 |        7989813
>>              1060072723 |        7990876
>> (2 rows)
>>
>> Time: 5565.175 ms
>> citgis=# select max(dvi_sub.dvi_cod_dados_via_iti) as
>> dvi_cod_dados_via_iti,
>>              dvi_sub.via_cod_viagem
>>               from gis_dvi_dados_viagem_itinerario dvi_sub,
>> gis_via_viagem via_sub, gis_iti_itinerario iti_sub
>>               where dvi_sub.via_cod_viagem = via_sub.via_cod_viagem
>>                 and via_sub.via_status_viagem = 'A'
>>                 and via_sub.via_dt_hora_ini > now() - interval '9 hours'
>>                 and iti_sub.lin_cod_linha = 389
>>                 and iti_sub.iti_sentido_itinerario = 'I'
>>                 and iti_sub.iti_cod_itinerario_linha =
>> via_sub.iti_cod_itinerario_linha
>>                 and dvi_sub.vlo_cod_localizacao is not null
>>               group by dvi_sub.via_cod_viagem,
>> iti_sub.iti_cod_itinerario_linha, via_sub.equ_cod_eqpto
>> ;
>>   dvi_cod_dados_via_iti | via_cod_viagem
>> -----------------------+----------------
>>              1059964445 |        7989813
>>              1060072725 |        7990876
>> (2 rows)
>>
>> Time: 27.944 ms
>> citgis=# select max(dvi_sub.dvi_cod_dados_via_iti) as
>> dvi_cod_dados_via_iti,
>>              dvi_sub.via_cod_viagem
>>               from gis_dvi_dados_viagem_itinerario dvi_sub,
>> gis_via_viagem via_sub, gis_iti_itinerario iti_sub
>>               where dvi_sub.via_cod_viagem = via_sub.via_cod_viagem
>>                 and via_sub.via_status_viagem = 'A'
>>                 and via_sub.via_dt_hora_ini > now() - interval '9 hours'
>>                 and iti_sub.lin_cod_linha = 389
>>                 and iti_sub.iti_sentido_itinerario = 'I'
>>                 and iti_sub.iti_cod_itinerario_linha =
>> via_sub.iti_cod_itinerario_linha
>>                 and dvi_sub.vlo_cod_localizacao is not null
>>               group by dvi_sub.via_cod_viagem,
>> iti_sub.iti_cod_itinerario_linha, via_sub.equ_cod_eqpto
>> ;
>>   dvi_cod_dados_via_iti | via_cod_viagem
>> -----------------------+----------------
>>              1059964445 |        7989813
>>              1060072727 |        7990876
>> (2 rows)
>>
>> Time: 24.428 ms
>>
>> Greetings
>>    Anderson
>>
>
>
> --
> Adrian Klaver
> adrian.kla...@aklaver.com
>


Adrian
 forgiveness for my english the meant "Exists a job run every 2 seconds
capturing information of locks, long running queries, etc."


Anderson

Reply via email to