Uma pequena contribuição, se você for usar o PGFOUINE no SUSE

pgfouine -> rpm - http://pgfouine.projects.postgresql.org/
pgfouine -> install: rpm -Uvh pgfouine-1.2-1.noarch.rpm
pgfouine -> usage:  pgfouine.php -logtype csvlog -file
/var/lib/pgsql/data/pg_log/postgresql.csv > diretorio/www/report.html [Ex:
/usr/local/apache/htdocs/report.html]/report.html

[ caso o postgreSQL não esteja gravando logs ]

-> no arquivo postgresql.conf
log_destination = 'csvlog'
logging_collector = on
log_min_duration_statement = 0
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

Em 26 de julho de 2010 11:31, JotaComm <[email protected]> escreveu:

>
>
> Em 21 de julho de 2010 21:02, Carlos Augusto Machado 
> <[email protected]>escreveu:
>
>   Caros,
>>
>> Continuando o assunto para que outros também contribuam...
>>
>>  >>Estou fazendo meu TCC sobre melhoria de performance em BD implementados
>>  >>sobre o PostgreSQL.
>> > Muito legal :)
>>  >>O trabalho tem duas seções específicas, as quais estou começando a
>>  >>desenvolver exemplos práticos:
>>  >>- Otimização de índices
>>  >>- Otimização de consultas
>> > Primeira dúvida. O que você chama de otimização de índices? Criação de
>> um
>> > índice para ver se melhora a performance?
>> Quase isso, a idéia é criar novos índices para melhorar a performance,
>> porem, baseado no monitoramento do banco de dados.
>> Para tanto, preciso entender o que monitorar no banco para identificar
>> que indices criar. Talvez o pg_founie citado na resposta anterior possa
>> ajudar.
>>
>
> Certamente o pg_fouine ajudará você sim. Só tenha cuidado para não sair
> criando índices. Índices demais não são bons.
>
>>
>>  >>Em ambos os casos, vou precisar monitorar um BD para apresentar os
>>  >>problemas antes de otimizar, as soluções dadas e como ficou o
>> desempenho
>>  >>após a solução.
>>
>> > Você tem um banco de dados para isso?
>> Montamos um banco de dados baseado no estudo de caso de uma vídeo
>> locadora, porem achamos que este banco "não vai apresentar problemas".
>> Gostaríamos de ter um banco de uma aplicação real, mas não conseguimos
>> nenhum até o momento.
>>
> Sim. Um banco deste tipo acho que não vai ajudar muito não.
>
>>
>>  >>Para isso, venho até a lista para pedir apoio e dicas.
>>  >>Meu ambiente de trabalho é um notebook com Windows Seven, PostgreSQL
>> 8.4,
>>  >>3GB RAM.
>>  >>Também posso simular ambientes com máquina virtual rodando Windows XP
>> ou
>>  >>Linux.
>>
>> > Isso não seria problema.
>> Legal...
>>
>>  >>Quanto ao monitoramento, pensei em usar uma ferramenta própria para
>> essa
>>  >>atividade.
>>
>> > Que tipo de ferramenta?
>> >
>> > Você já pensou em utilizar as views de sistema?
>> >
>> > - pg_stat_activity
>> > - pg_stat_user_tables
>> > - pg_stat_user_indexes
>> >
>> > Além disso tem o pg_fouine [1] onde você pode gerar as consultas
>> > utilizadas
>> > pelo sistema.
>>
>> Obrigado por essa indicação, comecei a ver essas views. Alguem tem mais
>> material demonstrando o uso delas?
>>
>> Como não terei a aplicação, apenas o banco de testes, terei de realizar
>> consultas arbitrarias. Correto? Alguma dica para gerar essas consultas?
>>
>>  >>Estudei o BenchmarkSQL, porém ele analisa a configuração do ambiente e
>>  >>hardware, usando um esquema de BD próprio para seu tipo de teste
>> (criando
>>  >>tabelas próprias e definindo pesos para consultas).
>>
>> > Você pode usar o pgtune [2] para auxiliar e ajudar na configuração dos
>> > parâmetros de configuração.
>> O pg_fouine e o pgtune são somente para ambientes linux? ou rodam também
>> em windows?
>>
>>  >>No entanto, se eu precisar analisar o BD de uma aplicação qualquer,
>> pelo que
>>  >>entendi, o benchmarkSQL não vai ser tão útil.
>>  >>Então pergunto, há alguma ferramenta que faça o monitoramento de um
>> BD já
>>  >>existente? (PS. Preferencialmente livre e que rode em Windows).
>>
>> > Como assim ferramenta de um BD já existente?
>> Aqui a ideia é usar uma ferramenta para monitorar o banco de dados de um
>> sistema já existente (erp, automação comercial, etc.).
>> Pelas respostas anteriores o pg_fouine pode ser essa ferramenta,
>> monitorando as consultas do sistema.
>>
>>  >>Uma alternativa que verifiquei é o uso do comando EXPLAIN. Esse
>> comando se
>>  >>aplica mais para a otimização de consultas e, nesse caso, eu preciso
>> saber
>>  >>antecipadamente quais as consultas que deverão ser analisadas.
>> > O comando EXPLAIN mostra o plano de execução de cada consulta, porém
>> para
>> > ele funcionar bem é necessário que as estatísticas do banco estejam
>> > atualizadas, vide comando ANALYZE do PostgreSQL.
>> Ok.
>>
>>  >>A dúvida é como descobrir quais são as consultas que precisam ser
>> analisada
>>  >>em um BD qualquer.
>>
>> > Isso depende muito. Aconselho em primeiro lugar você aplicar o pg_fouine
>> > para ler as consultas geradas pela aplicação, a partir dai você tem que
>> > trabalhar nas consultas que podem trazer um ganho maior para um contexto
>> > global.
>> Ok. Neste caso as consultas que podem trazer um ganho maior
>> provavelmente são as que consomem mais tempo de processamento.
>>
>>  >>Por fim, alguem sabe indicar onde poderia encontrar BDs PostgreSQL para
>>  >>teste, sem precisar criar um ou mais específicos para o trabalho?
>>
>> > Isso é muito complicado, dificilmente você vai achar um banco pronto de
>> > testes para você aplicar testes de desempenho, eu iria sugerir você
>> > montar
>> > um ambiente para isso, e popular com bastantes dados as tabelas para
>> > ai sim
>> > pode trabalhar esta questão.
>> >
>> > Um bom ponto de início pode ser o pagila [3].
>> >
>> > [1] http://pgfouine.projects.postgresql.org/
>> > [2] http://pgfoundry.org/projects/pgtune/
>> > [3] http://pgfoundry.org/projects/dbsamples/
>> >
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
> []s
> --
> JotaComm
> http://jotacomm.wordpress.com
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
Diogo Castro - Dcc
Engenheiro de Computação
MSN: [email protected]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a