|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Давеча вчера столкнулся с проблемой - подвис сервер и причина банальная - диск был под завязку забит лог файлами. Оказалось, что они съели 80% всего места (честно проверял, было все неплохо, но потом перешли на протокол ODBC и получился кирдык). Оказалось, что один Log файл в несжатом виде занимал 11 Gb ну и плюс куча архивированных файлов. Сегодня и вчера настраивал журнал для Log файлов. Сделал, чтобы он автозаменялся (раз в 7 дней), остальные потуги к реальным изменениям не привели. Вопрос в следующем. Имеется связь с Windows из Debian по ODBC протоколу. Перекачиваются тиковые сделки. За день набегает около 1,8-2,5 Гб данных (около 1'600'000 сделок и это в урезанном варианте, в полном до 7-8 млн записей). В журнале ну они вообще никак не нужны, а postgres из туда суёт. Получается что то типа Код: sql 1. 2.
То есть в лог файл пишется, что в таблицу вставлена строка с такими то значениями, время выполнения столько то. Как убрать это сообщения. Резал в настройках postgresql.conf всё что можно по инструкции (мануал), но эти записи так и лезут. У кого есть какие мысли. . Мыслей и идей просто уже не осталось. . ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 21:13 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
О-О-О, log_statement у вас включен. ещё за логирование запросов отвечает log_min_duration_statement - но из-за того что у вас это две разные строки - речь именно о log_statement ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 22:46 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Melkij log_statement у вас включен. ещё за логирование запросов отвечает log_min_duration_statement - но из-за того что у вас это две разные строки - речь именно о log_statement Она активна и там указано 'none' Код: sql 1.
Что говорит о том, что не должен регистрировать ничего. Так же было указано, что log_min_duration_statement (integer) =50, что говорит о том, что регистрировать события которые длятся дольше 50 мс, но запросы выполняются всего 0,065 мс!. Указал что log_statement = 'ddl' # none, ddl, mod, all ( ddl записывает все команды определения данных, такие как CREATE, ALTER, DROP) и указал что log_min_duration_statement (integer) =-1 (запрет на регистрацию времени выполнения). Проверю сейчас. . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 07:14 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Переделал как в посте выше. Итог сегодня утром (сейчас).: Код: sql 1. 2.
То есть все то же самое. У меня рабочий PostgreSQL это 11 версия. На машине стоит так же 12 версия, но она пустая. Скопировал и туда тот же файл настроек postgresql.conf , но результат такой же! Размер log файла не изменился (получается тот же гигантский размер). . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 07:22 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Меня еще вот что смущает. Дело в том, что при старте БД она все равно пишет время выполнения процесса, даже после того, как явно указано не выводить время в запросе. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Сервер перезагружал физически, так что перезагрузка была. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 07:28 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
а так logging_collector = off ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 08:04 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Alex_Ustinov а так logging_collector = off Было logging_collector = on Сделал logging_collector = off # Enable capturing of stderr and csvlog 1) Не создаёт файл под названием, которое даю я. Просто пишет в файл по умолчанию под названием postgresql-11-main.log 2) Но в самом файле тиковые данные все равно идут. Код: sql 1. 2.
3) И судя по размеру файла - все то же самое. . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 08:45 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
О-О-О Alex_Ustinov а так logging_collector = off Было logging_collector = on Сделал logging_collector = off # Enable capturing of stderr and csvlog 1) Не создаёт файл под названием, которое даю я. Просто пишет в файл по умолчанию под названием postgresql-11-main.log 2) Но в самом файле тиковые данные все равно идут. Код: sql 1. 2.
3) И судя по размеру файла - все то же самое. . прикрепите полный конфиг ваш и тогда можно будет понять... или хотя бы grep log postgresql.conf (то что к логгированию относится). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 08:47 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Я попытаюсь удалить Postgres версии 12. Все равно не используется, может быть поможет, хотя шансы близки к нулю. . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 08:49 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
О-О-О Alex_Ustinov а так logging_collector = off Было logging_collector = on Сделал logging_collector = off # Enable capturing of stderr and csvlog 1) Не создаёт файл под названием, которое даю я. Просто пишет в файл по умолчанию под названием postgresql-11-main.log 2) Но в самом файле тиковые данные все равно идут. Код: sql 1. 2.
3) И судя по размеру файла - все то же самое. . И как минимум покажите что показывает база в ответ на show log_min_duration_statement ; show log_statement; show log_duration ; ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 08:50 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Удаление PostgreSQL 12 версии не помогло. Значит делаю следующие шаги (как указал Maxim Boguk). . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 09:06 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Maxim Boguk, А вот здесь очень интересно. В настройках одно, а по факту вылазит другое . Файл настроек расположен по адресу Код: sql 1. 2. 3. 4.
. Там я и делаю настройки, но при запросе, выдаются СОВСЕМ ДРУГИЕ РЕЗУЛЬТАТЫ! . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 09:16 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Вот сам файл настроек. . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 09:21 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Принудительно указал off и убрал галочки с ddl и все равно выводятся тиковые сделки. . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 09:37 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
О-О-О Принудительно указал off и убрал галочки с ddl и все равно выводятся тиковые сделки. . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 09:38 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
После перезагрузки сервера стали выдаваться сообщения как в лог файле. Может в этом проблема. . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 09:47 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
О-О-О, 1)еще один скриншот вместо текста результатов - и я этот топик закрою. Прекратите издеваться если хотите чтобы вам помогали. 2)что показывает Код: plsql 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 10:09 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Maxim Boguk О-О-О, 1)еще один скриншот вместо текста результатов - и я этот топик закрою. Прекратите издеваться если хотите чтобы вам помогали. 2)что показывает Код: plsql 1.
? Прошу прощения, работаю дистанционно и мне важна картинка. Не сообразил, что данные можно выложить в текстовом формате. Каюсь. Что касается запроса - то вот ответ: Код: sql 1. 2. 3. 4. 5. 6. 7.
. И та в самом деле стоит не то что должно стоять! Код: sql 1. 2. 3. 4. 5. 6. 7.
. Вопрос тогда как оно туда попало, на каком этапе? Maxim Boguk, что делать? Написано - файл вручную не корректировать! . И спасибо Maxim Boguk , уже хоть понятна проблема! . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 10:56 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
О-О-О, Кто то когда то поменял через ALTER SYSTEM или руками или через какую то тулзу администрирования. И сбрасывать их оттуда тоже через ALTER SYSTEM. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 11:07 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
ВСЕМ СПАСИБО. Персональное спасибо Maxim Boguk. . Файлик подправил вручную. Помогло! Теперь данные не пишутся вообще ;-). Но теперь уже понятно как действовать. Настройки уже сделаю как нужно (с учетом ротации логов по дням недели) под себя и с учетом того, что должно писаться. Проблема локализована. . Еще раз всем спасибо! . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 11:20 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Я хотел еще сделать кое какое уточнение по скорости работы по ODBC протоколу. Возможно, что комуто будет это весьма любопытно. 1) Если сделать таблицу с логгированием всех сделок (сделать таблицу журналируемой), то за секунду по ODBC протоколу прокачивается около 1800-2100 тиковых сделок за 1 секунду. 2) Если сделать таблицу нежурналируемой (CREATE UNLOGGED TABLE), то уже за 1 секунду прокачивается около 3000 тиковых сделок за ту же 1 секунду. 3) а если еще и отключить вывод записей в журнал (в лог файл, что сегодня в этой ветке и было сделано), то скорость возрастает до 5500 тиковых сделок за 1 секунду. Как говорится - почувствуйте разницу, а она реальна и весьма ощутима и достигает 300% (5500/1800=3). И при этом еще и нагрузка на процессор меньше как по времени (быстрее обрабатываются данные по времени), так и в процентном отношении (с 34 % уменьшилось до 18%). . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 11:49 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Помимо файла настроек postgresql.conf при изменении настроек ч\з ALTER создается доп файл настроек postgresql.auto.conf и он имеет приоритет перед основным файлом настроек. Соответственно при правке настроек руками в основном файле они не применяться если до этого ч\з ALTER эта настройка правилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 11:50 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
Guzya Помимо файла настроек postgresql.conf при изменении настроек ч\з ALTER создается доп файл настроек postgresql.auto.conf и он имеет приоритет перед основным файлом настроек. Соответственно при правке настроек руками в основном файле они не применяться если до этого ч\з ALTER эта настройка правилась. Возможно, но честно говоря я не помню, чтобы я правил что то руками. Postgres уже уже установлен в образе Debian. Возможно, что эти настройки были вшиты "по умолчанию". ALTER команды использую очень редко. В основном правлю только таблицы и то в последнее время редактирую их через pgAdmin4. Так что очень сомневаюсь, что я бы полез в postgresql.auto.conf, особенно увидев надпись, что вручную не редактировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 11:55 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
сказал же сразу что log_statement включен. И да, логирование всех запросов - это дорого не только и не столько по месту на диске сколько по влиянию на базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 12:43 |
|
Log файл как ограничить аппетит
|
|||
---|---|---|---|
#18+
О-О-О Я хотел еще сделать кое какое уточнение по скорости работы по ODBC протоколу. Возможно, что комуто будет это весьма любопытно. 1) Если сделать таблицу с логгированием всех сделок (сделать таблицу журналируемой), то за секунду по ODBC протоколу прокачивается около 1800-2100 тиковых сделок за 1 секунду. 2) Если сделать таблицу нежурналируемой (CREATE UNLOGGED TABLE), то уже за 1 секунду прокачивается около 3000 тиковых сделок за ту же 1 секунду. 3) а если еще и отключить вывод записей в журнал (в лог файл, что сегодня в этой ветке и было сделано), то скорость возрастает до 5500 тиковых сделок за 1 секунду. Как говорится - почувствуйте разницу, а она реальна и весьма ощутима и достигает 300% (5500/1800=3). И при этом еще и нагрузка на процессор меньше как по времени (быстрее обрабатываются данные по времени), так и в процентном отношении (с 34 % уменьшилось до 18%). . 2)только если электричество отключится или сервер упадет - вся таблица исчезнет (совсем вся) 2)опять же разница зависит от настроек сервера и используемого оборудования... вполне можно более менее одинаковые цифры иметь (ну почти) 3)слабые диски 4)слабый сервер в общем unlogged только для данных которые вообще не жалко. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 12:45 |
|
|
start [/forum/topic.php?fid=53&msg=39947892&tid=1994724]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 293ms |
total: | 440ms |
0 / 0 |