[firebase-br] 100 CPU firebird 2.5 Classic

Fabiano Moura mctbrasil em gmail.com
Sex Fev 18 22:52:51 -03 2011


Tente executar a query abaixo:

SELECT a.mon$attachment_id as "Attachment ID",
       a.mon$server_pid as "Server PID",
       a.mon$state as "State",
       a.mon$attachment_name as "Attachment Name",
       a.mon$user as "User",
       a.mon$role as "Role",
       a.mon$remote_protocol as "Remote Protocol",
       a.mon$remote_address as "Remote Address",
       a.mon$remote_pid as "Remote PID",
       cs.rdb$character_set_name as "Character Set",
       a.mon$timestamp as "Established At",
       a.mon$garbage_collection as "Garbage Collection",
       a.mon$remote_process as "Remote Process",
       a.mon$stat_id as "Statistics ID",
       r.mon$record_seq_reads as "Non-indexed Reads",
       r.mon$record_idx_reads as "Indexed Reads",
       r.mon$record_inserts as "Records Inserted",
       r.mon$record_updates as "Records Updated",
       r.mon$record_deletes as "Records Deleted",
       r.mon$record_backouts as "Records Backed Out",
       r.mon$record_purges as "Records Purged",
       r.mon$record_expunges as "Records Expunged",
       io.mon$page_reads as "Page Reads",
       io.mon$page_writes as "Page Writes",
       io.mon$page_fetches as "Page Fetches",
       io.mon$page_marks as "Page Marks",
       cast(round((MEM.MON$MEMORY_USED / 1024.00 / 1024.00),2) as
numeric(18,2)) as MEMORY_USED,
       cast(round((MEM.MON$MEMORY_ALLOCATED / 1024.00 / 1024.00),2) as
numeric(18,2)) as MEMORY_ALLOCATED,
       cast(round((MEM.MON$MAX_MEMORY_USED / 1024.00 / 1024.00),2) as
numeric(18,2)) as MAX_MEMORY_USED,
       cast(round((MEM.MON$MAX_MEMORY_ALLOCATED / 1024.00 / 1024.00),2) as
numeric(18,2)) as MAX_MEMORY_ALLOCATED
from mon$attachments a
join rdb$character_sets cs on (a.mon$character_set_id =
cs.rdb$character_set_id)
left join mon$record_stats r on (a.mon$stat_id = r.mon$stat_id)
left join mon$io_stats io on (a.mon$stat_id = io.mon$stat_id)
left join MON$MEMORY_USAGE MEM on (a.mon$stat_id = mem.mon$stat_id)
order by a.mon$timestamp, a.mon$remote_process



*Obrigado,*
*
*
*Fabiano Moura*

Em 18 de fevereiro de 2011 21:08, Carlos H. Cantu
<listas em warmboot.com.br>escreveu:

> O Sinatica e/ou o FBScanner ajudam a auxiliar no processo de descobrir
> tais queries.
>
> []s
> Carlos H. Cantu
> www.FireBase.com.br - www.firebirdnews.org
> www.warmboot.com.br - blog.firebase.com.br
>
>
> POT> Tivemos problema semelhante, e acredite ERAM INDICES, haviam JOINS que
> POT> não estavam sendo contemplados com LIGACOES VIA INDICES e isso gerava
> POT> processamentos absurdos, é dificil detectar aonde mas tente rastrear
> POT> quais as rotinas que levantam os 100% e otimize as sentenças SQL.
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista