Как профилировать базу данных PostgreSQL?

Попробуйте

$block1 = array("today", "yesturday" );
$block2 = array("is", "is not");
$block3 = array("monday", "tuesday");

foreach($block1 as $word1) {
    foreach($block2 as $word2) {
        foreach($block3 as $word3) {
            echo $word1.' '.$word2.' '.$word3."\n";
        }
    }
} 
29
задан mat 13 December 2008 в 11:56
поделиться

4 ответа

Для того, чтобы "бдительно следить", я использую pgtop, программа, которая сознательно подражает команде 'вершины' Unix.

21
ответ дан bortzmeyer 13 December 2008 в 11:56
поделиться

"Следите" и "профиль" две очень отличающихся задачи, по моему мнению.

Для профилирования (не предпросмотр в реальном времени на том, что продолжается прямо сейчас, но видеть, какие запросы занимают большую часть времени и т.д.), проверьте pgFouine:

http://pgfouine.projects.postgresql.org/

Это позволит Вам видеть, какие запросы являются интенсивно использующими ресурсы, и принимают соответствующие меры: Добавьте недостающие индексы, перепишите запросы с помощью другого techiques и т.д.

36
ответ дан rebra 13 December 2008 в 11:56
поделиться

Ну, если Вы смотрите на то, что продолжается, относительно выборов, обновлений, удаляет, и так далее, существует несколько представлений в pg_catalog схема, я главным образом использую pg_stat_user_tables и pg_stat_user_indexes, но существует намного больше, все в pg_stat*.

также существует эти pg_stat_activity представление, которое говорит Вам, что работает на Вашем сервере прямо сейчас.

я взломал вместе четыре munin плагина, который использует user_tables и user_indexes, они доступны там

5
ответ дан mehmet 13 December 2008 в 11:56
поделиться
2
ответ дан Patryk Kordylewski 13 December 2008 в 11:56
поделиться
  • 1
    Чтобы добавить к нему, значения означают и выбрать разные вещи для различного " type" – coolest_head 11 November 2011 в 04:07
Другие вопросы по тегам:

Похожие вопросы: