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
