powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ann: LDSLogger updated
37 сообщений из 37, показаны все 2 страниц
Ann: LDSLogger updated
    #39788981
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помню, Анатолий в таких случаях советовал добавлять префикс Ann.

Как я недавно и обещал в одном из обсуждений, обновил свой велосипед модуль для логгирования: LDSLogger.pas.

Ссылка:
https://svn.code.sf.net/p/loginovprojects/code-0/trunk/ldslogger
(скопирована из тортойза)

Обновление только под винду, поддерживаются любые версии Delphi, текст пишется в кодировке ANSI. Вариант под лазарус тоже есть, но он дорабатывается по остаточному принципу.

Последнее изменение было следующим: добавлена глобальная переменная LDSLoggerLazyWriteDelay, которая определяет задержку перед записью на диск.
В одном из своих проектов я выставил LDSLoggerLazyWriteDelay=5000. Там несколько сотен потоков, каждый из них всё время что-нибудь пишет. Раньше была довольно высокая нагрузка на диск (ProcMon'ом невозможно было пользоваться для отслеживания активности работы с файлами), теперь нагрузка стала действительно копеечной.
Также доработка должна помочь экономить ресурс SSD.
Параметр LDSLoggerLazyWriteDelay используется совместно с режимом LazyWrite (он по умолчанию ВЫКЛЮЧЕН).
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789022
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSerдобавлена глобальная переменная LDSLoggerLazyWriteDelay, которая определяет задержку перед записью на диск.
Интересная фича. Возьму на вооружение на всякий, пока не сталкивался с высокой нагрузкой. :)
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789133
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пока не сталкивался с высокой нагрузкой

Реальная проблема возникает, если сотня потоков начнёт одновременно писать логи каждый в свой файл без режима LazyWrite на HDD. В таких ситуациях я неоднократно видел синий экран.
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789138
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
DmSerпока не сталкивался с высокой нагрузкой

Реальная проблема возникает, если сотня потоков начнёт одновременно писать логи каждый в свой файл без режима LazyWrite на HDD. В таких ситуациях я неоднократно видел синий экран.
я так думаю, что синий экран таки не из-за этого, а аз-за того, что железо мала-мала подыхает
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789160
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так думаю, что синий экран таки не из-за этого, а аз-за того, что железо мала-мала подыхает

Данная проблема начала возникать у клиента, мы долго не могли понять в чём дело, а когда поняли, то смогли легко воспроизвести у себя (на Windows 7). Причем проблема не у потоков, которые пишут одновременно в разные файлы, а проблема у Windows, которая пытается что-то важное прочитать с HDD, но ей не дают.
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789165
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSerа проблема у Windows, которая пытается что-то важное прочитать с HDD, но ей не дают.
Кэширование отключено?

Сотня потоков логируют в один файл общение с железками. Общение у каждого 3-5 операций туда-обратно в секунду пакетами по 10-50 байт. Это какая нагрузка по твоей классификации?
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789170
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanDmSerа проблема у Windows, которая пытается что-то важное прочитать с HDD, но ей не дают.
Кэширование отключено?

У клиента - VDS в датацентре, у нас обычный десктоп. Кэширование не отключали.

Сотня потоков логируют в один файл общение с железками. Общение у каждого 3-5 операций туда-обратно в секунду пакетами по 10-50 байт. Это какая нагрузка по твоей классификации?

Это мало. В нашем случае число записей/чтений в пике было в десяток раз больше.
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789201
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о, свн жив o_O
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789253
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
DmSer,

и как по ссылке качать ?
По одному файлу ?
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789254
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
DmSerwadmanпропущено...

Кэширование отключено?

У клиента - VDS в датацентре, у нас обычный десктоп. Кэширование не отключали.

Сотня потоков логируют в один файл общение с железками. Общение у каждого 3-5 операций туда-обратно в секунду пакетами по 10-50 байт. Это какая нагрузка по твоей классификации?

Это мало. В нашем случае число записей/чтений в пике было в десяток раз больше.

у меня в системе видеонаблюдения от нескольких десятков камер одновременно льются потоки 25 кадров в секунду, и никаких синих экранов
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789256
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
короче, пришлось достать старый добрый Телепорт образца 2001-го года
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789273
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Синий экран в моем случае получался при таком раскладе:
1) 100 потоков одновременно писали каждый в свой лог файл. В ходе этого каждый из них делал кучу запросов к базе данных. При этом простейшие запросы выполнялись по минуте.
2) в основном потоке был таймер, который также приводил к обращению к БД и записи в лог. В итоге интерфейс программы зависал напрочь.
3) через некоторое время получался синий экран.
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789628
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

я тут недавно пытался искать программЫ, которые тупо скачивают сайты

всё такое до ж..ы красивенькое, но в отличие от Телепорта ни хрена не работает
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789685
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ariochdefecator,

я тут недавно пытался искать программЫ, которые тупо скачивают сайты

всё такое до ж..ы красивенькое, но в отличие от Телепорта ни хрена не работает
вот поэтому я древнейшим телепортом и пользуюсь до сих пор
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789841
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorкороче, пришлось достать старый добрый Телепорт образца 2001-го года
Извращенцы... svn co недостаточно хардкорно? А если уж хочется черезжопное путешествие, то wget в режиме mirror
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789896
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Василий 2defecatorкороче, пришлось достать старый добрый Телепорт образца 2001-го года
Извращенцы... svn co недостаточно хардкорно? А если уж хочется черезжопное путешествие, то wget в режиме mirror
зачем wget, если есть Телепорт ?
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789914
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorзачем wget, если есть Телепорт ?
телепорт тоже является svn-клиентом?
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789918
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Докdefecatorзачем wget, если есть Телепорт ?
телепорт тоже является svn-клиентом?

а wget разве является svn клиентом ?
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789933
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorа wget разве является svn клиентом ?
формально нет. Но применяется традиционно и кроссплатформенно для закачки с svn-ресурсов, насколько мне известно.

А Телепорт для этих целей - весьма свежо и креативно, хотя и подменяет понятия теплое на мягкое
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39789938
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Докdefecatorа wget разве является svn клиентом ?
формально нет. Но применяется традиционно и кроссплатформенно для закачки с svn-ресурсов, насколько мне известно.

А Телепорт для этих целей - весьма свежо и креативно, хотя и подменяет понятия теплое на мягкое

мне были нужны только файлы, svn не нужен.

Когда мне нужен SVN, я пользуюсь TortoiseSVN
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39790193
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorКогда мне нужен SVN, я пользуюсь TortoiseSVN
ну хоть в чем-то мы с тобой солидарны
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39790666
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокdefecatorКогда мне нужен SVN, я пользуюсь git
ну хоть в чем-то мы с тобой солидарны

...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39790677
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Дегтярев ЕвгенийДокпропущено...

ну хоть в чем-то мы с тобой солидарны

...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39790685
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorДегтярев Евгенийпропущено...

...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39790687
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
bk0010defecatorпропущено...
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39790883
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, в рекурсию не уходите там.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39791067
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамТак, в рекурсию не уходите там.
было желание, с трудом подавил
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39868332
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На работе провёл эксперимент, цель которого понять, какой износ для SSD влечёт запись логов. У меня там Samsung 860 Evo. В программе Samsung Magician (или в CrystalDiskInfo) запоминаю параметр "Total LBAs Written" в начале и в конце эксперимента. Разница между этими значениями - кол-во записанных блоков ячеек. Точный размер блока я не знаю, в интернете найти не смог (там разные версии - от 512 байт до 4КБ). Известно, что именно этот параметр определяет степень износа SSD.
1. Без LazyWrite. В цикле от 1 до 1000000 пишу строки длиной примерно 136 символов. Это занимает 115 сек. Записано 136МБ логов. Количество блоков: 4,5 млн.
2. С LazyWrite. Времени заняло 3,5 сек. Количество блоков: 10 тыс.
Разница: в 450 раз. Если умножить 136МБ на 450, то получим 61 ГБ - видимо столько ячеек было затронуто при записи без LazyWrite.
Цифры (число блоков) довольно приблизительные, т.к. SSD выполняет ещё и кучу своей работы. При бездействии параметр "Total LBAs Written" наращивается каждую минуту примерно на 2000.
Предполагаю, что SSD можно очень быстро износить, если очень интенсивно писать в логи.

P.S. В LDSLogger без режима LazyWrite используется самый неэффективный способ записи в логи.
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39868476
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
DmSerНа работе провёл эксперимент, цель которого понять, какой износ для SSD влечёт запись логов. У меня там Samsung 860 Evo. В программе Samsung Magician (или в CrystalDiskInfo) запоминаю параметр "Total LBAs Written" в начале и в конце эксперимента. Разница между этими значениями - кол-во записанных блоков ячеек. Точный размер блока я не знаю, в интернете найти не смог (там разные версии - от 512 байт до 4КБ). Известно, что именно этот параметр определяет степень износа SSD.
1. Без LazyWrite. В цикле от 1 до 1000000 пишу строки длиной примерно 136 символов. Это занимает 115 сек. Записано 136МБ логов. Количество блоков: 4,5 млн.
2. С LazyWrite. Времени заняло 3,5 сек. Количество блоков: 10 тыс.
Разница: в 450 раз. Если умножить 136МБ на 450, то получим 61 ГБ - видимо столько ячеек было затронуто при записи без LazyWrite.
Цифры (число блоков) довольно приблизительные, т.к. SSD выполняет ещё и кучу своей работы. При бездействии параметр "Total LBAs Written" наращивается каждую минуту примерно на 2000.
Предполагаю, что SSD можно очень быстро износить, если очень интенсивно писать в логи.

P.S. В LDSLogger без режима LazyWrite используется самый неэффективный способ записи в логи.
в нынешних достижениях SSD можно ставить только как системный диск
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39868533
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в нынешних достижениях SSD можно ставить только как системный диск


в нынешних достижениях SSD отпадает необходимость в HDD. Но в некоторых областях применения существуют свои нюансы.
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39868544
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSerв нынешних достижениях SSD отпадает необходимость в HDD.
Ага, особенно с QLC
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39868570
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyDmSerв нынешних достижениях SSD отпадает необходимость в HDD.
Ага, особенно с QLC

Сегодня qlc боязно использовать, а завтра обкатают и все на него перейдут. Недаром Samsung делает ставку на qlc даже для серверных ssd.
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39868590
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сравнительно недавно переделал свою систему логирования на подобие LazyWrite. Поставил на глаз задержку 100мс - пока вроде хватает. Можно и больше ставить, но тогда у меня сильный разброс данных будет в файлах логов - в данном случае они у меня создаются отдельно на каждый час. В общем-то не критично, но пока незачем.

Проблема выросла, когда логи пишутся массово и помногу, но малыми порциями и часто. Не столь важно оказалось даже кол-во потоков, как антивирус.
Благодаря нему они записываться не успевали на медленном винте и очередь (моя) переполнялась, аутофмемори получал.
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39868912
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockМожно и больше ставить, но тогда у меня сильный разброс данных будет в файлах логов
Это как? Там что, каждый поток пишет отдельно в одни и те же файлы, в результаты логи идут не последовательно?
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39869519
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiYuRockМожно и больше ставить, но тогда у меня сильный разброс данных будет в файлах логов
Это как? Там что, каждый поток пишет отдельно в одни и те же файлы, в результаты логи идут не последовательно?Сейчас так (упрощенно):

1. Все потоки пишут в определенный один буффер в памяти;
2. Каждые 100мс дополнительный (пишущий в файл) поток забирает эти данные в свой буффер и очищает тот общий, записывает данные в файл из своего буффера, для чего генерит имя этого файла (в зависимости от настроек - резать логи по годам, месяцам, дням или часам).

Единственная некритичная проблема - это то, что некоторые данные за время предыдущего часа попадут не в свой файл.
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39869525
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockЕдинственная некритичная проблема - это то, что некоторые данные за время предыдущего часа попадут не в свой файл.Эту проблему можно решить разными способами, но меня ломает усложнять алгоритм - не критично совершенно.
...
Рейтинг: 0 / 0
Ann: LDSLogger updated
    #39869692
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSerНедаром Samsung делает ставку на qlc даже для серверных ssd.Серверные SSD это не оксюморон , просто отложенная реклама облаков.

Если по делу, то возможно пригодится ветка Форматирование флешевых накопителей с выравниванием кластера на границу блока . Хотя контроллеры и существенно отличаются по сложности.
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ann: LDSLogger updated
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]