Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
pg 8.1.4 + FreeBSD 6.1 трабл
|
|||
|---|---|---|---|
|
#18+
Приветствую, господа. Такая проблема с постгресом: после запуска все работает нормально и быстро. Но после дня работы (даже еще раньше) он начинает дико тормозить. Команда select * from table1 для таблицы с 10 записами выполняется до 20 минут. pg настроен вроде правильно, в соответствии с рекомендациями в его документации. Памяти на сервере - 8 гигов. Максимальное количество коннектов в конфиге - 1900. Загружен он сильно, но реально, больше 1000 одновременно не бывает. Autovacuum включен - каждые 60 сек. В логах ничего подозрительного не нашел. В чем может быть дело, почему тормозит так? Привожу все значащие строки из его конфига (остальное закомментировано): listen_addresses = '*' # what IP address(es) to listen on; max_connections = 1900 password_encryption = on shared_buffers = 10000 # min 16 or max_connections*2, 8KB each work_mem = 2048 # min 64, size in KB maintenance_work_mem = 65536 # min 1024, size in KB max_stack_depth = 4096 # min 100, size in KB redirect_stderr = on # Enable capturing of stderr into log log_directory = 'pg_log' # Directory where log files are written log_truncate_on_rotation = on # If on, any existing log file of the same log_rotation_age = 1440 # Automatic rotation of logfiles will log_rotation_size = 102400 # Automatic rotation of logfiles will silent_mode = on stats_start_collector = on stats_row_level = on autovacuum = on # enable autovacuum subprocess? autovacuum_naptime = 60 # time between autovacuum runs, in secs lc_messages = 'en_US.UTF-8' # locale for system error message lc_monetary = 'en_US.UTF-8' # locale for monetary formatting lc_numeric = 'en_US.UTF-8' # locale for number formatting lc_time = 'en_US.UTF-8' # locale for time formatting Заранее спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 20:24 |
|
||
|
pg 8.1.4 + FreeBSD 6.1 трабл
|
|||
|---|---|---|---|
|
#18+
Я наверное сейчас скажу глупость :), но если записей много, как думаешь, сколько времени занимает Vacuum и как он вешает базу? Не в этом ли собака порылась? Может поставить на раз в 6000 секунд? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 22:13 |
|
||
|
pg 8.1.4 + FreeBSD 6.1 трабл
|
|||
|---|---|---|---|
|
#18+
2 tier.ru work_mem параметр пробовали менять? можно ли немножко разъяснить количество данных, скажем сколько появляется жанных в день, насколько большая сама таблица? удаляются ли данные из таблицы и как часто, количество? autovacuum действительно интересно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 23:55 |
|
||
|
pg 8.1.4 + FreeBSD 6.1 трабл
|
|||
|---|---|---|---|
|
#18+
посмотрите блокировки в системной таблице pg_locks ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2006, 09:10 |
|
||
|
pg 8.1.4 + FreeBSD 6.1 трабл
|
|||
|---|---|---|---|
|
#18+
Niemi2 tier.ru work_mem параметр пробовали менять? можно ли немножко разъяснить количество данных, скажем сколько появляется жанных в день, насколько большая сама таблица? удаляются ли данные из таблицы и как часто, количество? autovacuum действительно интересно work_mem менял. был в 2 раз меньше. Таблиц несколько сотен. Одна из них на 5 млн. записей. Остальные - по несколько сотен тысяч. Приближенно говоря - в день порядка 10000 записей в каждой таблице удаляется и добавляется (вместо UPDATE). Происходит это не одновременно, а примерно равномерно в течение всего дня, непрерывно. Короче, софт работает с базой и модифицирует данные во всех таблицах непрерывно, иногда создает новые таблицы, аналогичные существующим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2006, 10:23 |
|
||
|
pg 8.1.4 + FreeBSD 6.1 трабл
|
|||
|---|---|---|---|
|
#18+
пробовали ли крутить параметр maintenance_work_mem ? A setting of 50% to 75% of the on-disk size of your largest table or index is a good rule, or 32MB to 256MB where this can't be determined. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2006, 00:18 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34014033&tid=2006071]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 383ms |

| 0 / 0 |
