The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY, !*! Roaming, 30-Июл-06, 14:36  [смотреть все]
Доброго времени суток.

Первоначальные данные:
OC - FreeBSD 6.1 /AMD 3200+/ 1G RAM/ SATA HDD.
PostgreSQL 8.1
БД ~ 12G (40млн rows)

postgresql.conf:

  max_connections = 180
  shared_buffers = 4000
  temp_buffers = 1000
  work_mem = 850000
  max_fsm_pages = 407000
  fsync = off
  effective_cache_size = 102400
  stats_start_collector = on
  stats_command_string = on
  stats_row_level = on
  sort_mem = 5024 (опции небыло. Добавил, БД приняла.)
  
Возник следующий вопрос:
Средний SELECT выполняеться достаточно быстро.
Но если SELECT содержит ORDER BY то длиться он ~15 мин.
  Если UNION + ORDER + COUNT то все 10 часов.

Больше всего меня поразили показатели нагрузок в момент такого запроса:
IOSTAT ~ 2.00 MB/s (Вовремя REINDEX - 50MB/s)
SWAP < 1Mb
CPU Бездействие ~ 90%
RAM Свободно ~ 40%

Чего ему не хватает ?

P.S. Ошибок в логах нет.

  • PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY, !*! Brainbug, 14:01 , 31-Июл-06 (1)
    >Доброго времени суток.
    >
    > Первоначальные данные:
    > OC - FreeBSD 6.1 /AMD 3200+/ 1G RAM/ SATA HDD.
    > PostgreSQL 8.1
    > БД ~ 12G (40млн rows)
    >
    > postgresql.conf:
    >
    >  max_connections = 180
    >  shared_buffers = 4000
    >  temp_buffers = 1000
    >  work_mem = 850000
    >  max_fsm_pages = 407000
    >  fsync = off
    >  effective_cache_size = 102400
    >  stats_start_collector = on
    >  stats_command_string = on
    >  stats_row_level = on
    >  sort_mem = 5024 (опции небыло. Добавил, БД приняла.)
    >
    >Возник следующий вопрос:
    > Средний SELECT выполняеться достаточно быстро.
    > Но если SELECT содержит ORDER BY то длиться он ~15 мин.
    >
    >  Если UNION + ORDER + COUNT то все 10 часов.
    >
    >
    > Больше всего меня поразили показатели нагрузок в момент такого запроса:
    > IOSTAT ~ 2.00 MB/s (Вовремя REINDEX - 50MB/s)
    > SWAP < 1Mb
    > CPU Бездействие ~ 90%
    > RAM Свободно ~ 40%
    >
    > Чего ему не хватает ?
    >
    > P.S. Ошибок в логах нет.
    >


    1. Pokazi sam zapros.
    2. Pokazi strukturu tablici + indexi dla tablici.
    3. Pokazi 4to govorit EXPLAIN dla dannogo zaprosa.
    4. VACUUM zapuskajetca (hotja teoreti4eski dolzen rabotat autovacuum dla versii 8.1
    no po umol4aniju on viklu4en)
    5. Pokazi SHOW ALL 4to vivel.

  • PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY, !*! Ares, 13:12 , 08-Ноя-06 (3)
    >Доброго времени суток.
    >
    > Первоначальные данные:
    > OC - FreeBSD 6.1 /AMD 3200+/ 1G RAM/ SATA HDD.
    > PostgreSQL 8.1
    > БД ~ 12G (40млн rows)
    >
    > postgresql.conf:
    >
    >  max_connections = 180
    >  shared_buffers = 4000
    >  temp_buffers = 1000
    >  work_mem = 850000
    >  max_fsm_pages = 407000
    >  fsync = off
    >  effective_cache_size = 102400
    >  stats_start_collector = on
    >  stats_command_string = on
    >  stats_row_level = on
    >  sort_mem = 5024 (опции небыло. Добавил, БД приняла.)
    >
    >Возник следующий вопрос:
    > Средний SELECT выполняеться достаточно быстро.
    > Но если SELECT содержит ORDER BY то длиться он ~15 мин.
    >
    >  Если UNION + ORDER + COUNT то все 10 часов.
    >
    >
    > Больше всего меня поразили показатели нагрузок в момент такого запроса:
    > IOSTAT ~ 2.00 MB/s (Вовремя REINDEX - 50MB/s)
    > SWAP < 1Mb
    > CPU Бездействие ~ 90%
    > RAM Свободно ~ 40%
    >
    > Чего ему не хватает ?
    >
    > P.S. Ошибок в логах нет.
    >

    Оперативной памяти конечно не хватает!)))добавь хотяб гиг и увидишь результат!

  • PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY, !*! adil_18, 02:00 , 03-Мрт-07 (5)
    при таком запросе с другой консоли сделай: top
    увидешь, что не хватает ram -a
    потом еще покажи настройки ядра для shared_buffers.
  • PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY, !*! NomadRain, 01:22 , 27-Фев-10 (6)

    >  work_mem = 850000
    >  sort_mem = 5024 (опции небыло. Добавил, БД приняла.)

    Это одно и то-же. sort_mem - название из предыдущих версий, сохранённое видимо, для совместимости.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру