The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Оптимизация и Промышленные системы (Другие СУБД)
Изначальное сообщение [ Отслеживать ]

"PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY"  +/
Сообщение от Roaming email(??) on 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. Ошибок в логах нет.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY"  +/
Сообщение от Brainbug (??) on 31-Июл-06, 14:01 
>Доброго времени суток.
>
> Первоначальные данные:
> 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.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY"  +/
Сообщение от Nikolaev D on 08-Авг-06, 00:11 

>> Но если SELECT содержит ORDER BY то длиться он ~15 мин.
>>
>>  Если UNION + ORDER + COUNT то все 10 часов.

они едят мнтого - почему - мортировки потому чсто

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY"  +/
Сообщение от Ares (??) on 08-Ноя-06, 13:12 
>Доброго времени суток.
>
> Первоначальные данные:
> 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. Ошибок в логах нет.
>

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

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY"  +/
Сообщение от pavel (??) on 11-Фев-07, 01:06 
памяти конечно маловато, но я в первую очередь ковырят бы индексы, а вообчето надо как-то по подробнее.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY"  +/
Сообщение от adil_18 email(??) on 03-Мрт-07, 02:00 
при таком запросе с другой консоли сделай: top
увидешь, что не хватает ram -a
потом еще покажи настройки ядра для shared_buffers.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "PostgreSQL 12G база. Тюнинг БД. Медлиный SELECT + ORDER BY"  +/
Сообщение от NomadRain email on 27-Фев-10, 01:22 

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

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

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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