Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
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 |
|
||
|
Log файл как ограничить аппетит
|
|||
|---|---|---|---|
|
#18+
О-О-О 2) Если сделать таблицу нежурналируемой (CREATE UNLOGGED TABLE), то уже за 1 секунду прокачивается около 3000 тиковых сделок за ту же 1 секунду. А еще можно fsync отключить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 12:51 |
|
||
|
Log файл как ограничить аппетит
|
|||
|---|---|---|---|
|
#18+
mefman О-О-О 2) Если сделать таблицу нежурналируемой (CREATE UNLOGGED TABLE), то уже за 1 секунду прокачивается около 3000 тиковых сделок за ту же 1 секунду. А еще можно fsync отключить. Да, fsync=on. Посмотрю что будет если этот параметр так же перевести в off. В инструкции сказано, что Во многих случаях отключение synchronous_commit для некритичных транзакций может дать больший выигрыш в скорости, чем отключение fsync, при этом не добавляя риски повреждения данных.. При этом synchronous_commit = on, так что и с этим параметром можно поиграться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 14:56 |
|
||
|
Log файл как ограничить аппетит
|
|||
|---|---|---|---|
|
#18+
Melkij сказал же сразу что log_statement включен. В конфигурационном файле log_statement стоял 'none' или 'ddl'. Но все равно шли ВСЕ ЗАПИСИ. Про *.auto.conf мало кто вспомнил, да и не лазит в тот файл никто (наверное). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:00 |
|
||
|
Log файл как ограничить аппетит
|
|||
|---|---|---|---|
|
#18+
О-О-О, потому что проверять состояние настройки надо в самой базе, show log_statement Потом уже смотреть откуда это значение взялось. Вдруг вы вообще не тот конфиг правите, например меняете в datadir/postgresql.conf, тогда как запускаете базу с указанием конфига в /etc где-нибудь. Про fsync сарказм. Это только и исключительно в том случае если база вам вообще не нужна. Например, для регрессионного теста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:11 |
|
||
|
Log файл как ограничить аппетит
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk 2)только если электричество отключится или сервер упадет - вся таблица исчезнет (совсем вся) 2)опять же разница зависит от настроек сервера и используемого оборудования... вполне можно более менее одинаковые цифры иметь (ну почти) 3)слабые диски 4)слабый сервер в общем unlogged только для данных которые вообще не жалко. Здесь я полностью согласен со всеми пунктами. Данные не критичные. Если будет сбой, то полетит все. После восстановления (это около 3-5 минут) данные качаются из Quik (с ММВБ биржи), так что заботится о сохранении данных вообще не нужно никоим образом. Железо - Intel 3700 (4 ядра+4 виртуальных)+ 16Gb оперативка + 2 SSD (Samsung серии Pro [обычные ssd не супер скоростные]). На одном SSD стоит основная машина, на втором SSD виртуальная машина с Windows 7 (4 ядра+4Гб) + на том же SSD стоит Debian (последний) (4 ядра + 3Гб). При этом Debian нагрузить более 50% не удавалось никак, но при работе с pgAdmin сразу жрет оперативку. Без него 18% от 3Гб, а с pgAdmin 4 сразу 29% от 3Гб (то есть съедает сразу около 300Мб оперативки). Использую VM VirtualBox. Так что по оптимизации железа есть куда оптимизировать и потоки разделить и уйти с виртуальной машины, но пока это вообще никак не влияет на скорость работы. По опыту скажу так. Сбои бывают 1-3 раза в год и для этих целей есть защитные методы (стопы, уровни и прочие технические нюансы при автоматической торговле на бирже). Нагрузка в пики не более 20-45%, но это всего 5-7% от общего времени. В остальное время суммарная нагрузка около 5-12% (если замерять на основной машине, в которой запущено ВСЕ сразу). При обычной торговле за 1 секунду проскакивает около 200-500 тиковых сделок, так что даже 5500 это уже с большим запасом. Оптимизация возможна, но в текущий момент времени нецелесообразна, так как текущее железо имеет большой запас по прочности по быстродействию и нагрузкам. . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:16 |
|
||
|
Log файл как ограничить аппетит
|
|||
|---|---|---|---|
|
#18+
О-О-О Melkij сказал же сразу что log_statement включен. В конфигурационном файле log_statement стоял 'none' или 'ddl'. Но все равно шли ВСЕ ЗАПИСИ. Про *.auto.conf мало кто вспомнил, да и не лазит в тот файл никто (наверное). Все параметры изменяемые ч\з субд (psql, и т.д.) сохраняются в этот файл(переопределяются). Т.е. если кто-то когда-то выполнил alter system .... параметр=123, то эта информация заносится в auto.conf и теперь если Вы меняете в postgresql.conf этот параметр, то он не применится, т.к. переопределен. Нужно либо ч\з субд (alter, set), либо удалить этот параметр из auto.conf и тогда он снова будет тянутся из postgresql.conf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:19 |
|
||
|
Log файл как ограничить аппетит
|
|||
|---|---|---|---|
|
#18+
Guzya, Я на postgreSQL перешел вообще с Cache Inter Systems. Многие вещи были в диковинку. Только сейчас начинаю понимать что и как здесь работает. Но с непривычки все раскидано по разным местам и слишком много всяких настроек, но зато СКОРОСТЬ ПОРАЖАЕТ!. Многое то что описано в официальной инструкции ну никак не воспринимается, даже тот же самый postgresql.conf ведь он очень подробно расписан, а вот про *.auto.config читал, залазил туда, но в памяти не отложилось (но точно не правил). В общем, БД шикарная, может много чего, скорость поражает, но реально для её изучения (по 3-7 часов в день) требуется не менее 6 месяцев. Я с октября в ней сижу (когда больше, когда меньше) и только благодаря книге PostgreSQL 11 (Ганс-Юрген Шёниг) стал двигаться быстро - там многие заумные вещи написаны на понятном для людей языке. Хотя может достиг критической массы для начала реального изучения. Остальные книги или копия официальной инструкции или сразу уже для профи (тот же PostgreSQL 10 от Салахалдин Джуба и Андрея Волкова). В общем оно того стоит, впечатления от работы БД только самые положительные. . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:30 |
|
||
|
|

start [/forum/topic.php?all=1&fid=53&tid=1994724]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 268ms |
| total: | 537ms |

| 0 / 0 |
