|
|
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
Помню, Анатолий в таких случаях советовал добавлять префикс Ann. Как я недавно и обещал в одном из обсуждений, обновил свой велосипед модуль для логгирования: LDSLogger.pas. Ссылка: https://svn.code.sf.net/p/loginovprojects/code-0/trunk/ldslogger (скопирована из тортойза) Обновление только под винду, поддерживаются любые версии Delphi, текст пишется в кодировке ANSI. Вариант под лазарус тоже есть, но он дорабатывается по остаточному принципу. Последнее изменение было следующим: добавлена глобальная переменная LDSLoggerLazyWriteDelay, которая определяет задержку перед записью на диск. В одном из своих проектов я выставил LDSLoggerLazyWriteDelay=5000. Там несколько сотен потоков, каждый из них всё время что-нибудь пишет. Раньше была довольно высокая нагрузка на диск (ProcMon'ом невозможно было пользоваться для отслеживания активности работы с файлами), теперь нагрузка стала действительно копеечной. Также доработка должна помочь экономить ресурс SSD. Параметр LDSLoggerLazyWriteDelay используется совместно с режимом LazyWrite (он по умолчанию ВЫКЛЮЧЕН). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 13:05 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
DmSerдобавлена глобальная переменная LDSLoggerLazyWriteDelay, которая определяет задержку перед записью на диск. Интересная фича. Возьму на вооружение на всякий, пока не сталкивался с высокой нагрузкой. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 13:48 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
пока не сталкивался с высокой нагрузкой Реальная проблема возникает, если сотня потоков начнёт одновременно писать логи каждый в свой файл без режима LazyWrite на HDD. В таких ситуациях я неоднократно видел синий экран. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 16:00 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
DmSerпока не сталкивался с высокой нагрузкой Реальная проблема возникает, если сотня потоков начнёт одновременно писать логи каждый в свой файл без режима LazyWrite на HDD. В таких ситуациях я неоднократно видел синий экран. я так думаю, что синий экран таки не из-за этого, а аз-за того, что железо мала-мала подыхает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 16:05 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
я так думаю, что синий экран таки не из-за этого, а аз-за того, что железо мала-мала подыхает Данная проблема начала возникать у клиента, мы долго не могли понять в чём дело, а когда поняли, то смогли легко воспроизвести у себя (на Windows 7). Причем проблема не у потоков, которые пишут одновременно в разные файлы, а проблема у Windows, которая пытается что-то важное прочитать с HDD, но ей не дают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 16:41 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
DmSerа проблема у Windows, которая пытается что-то важное прочитать с HDD, но ей не дают. Кэширование отключено? Сотня потоков логируют в один файл общение с железками. Общение у каждого 3-5 операций туда-обратно в секунду пакетами по 10-50 байт. Это какая нагрузка по твоей классификации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 16:54 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
wadmanDmSerа проблема у Windows, которая пытается что-то важное прочитать с HDD, но ей не дают. Кэширование отключено? У клиента - VDS в датацентре, у нас обычный десктоп. Кэширование не отключали. Сотня потоков логируют в один файл общение с железками. Общение у каждого 3-5 операций туда-обратно в секунду пакетами по 10-50 байт. Это какая нагрузка по твоей классификации? Это мало. В нашем случае число записей/чтений в пике было в десяток раз больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 17:16 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
о, свн жив o_O ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 18:14 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
DmSer, и как по ссылке качать ? По одному файлу ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 20:34 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
DmSerwadmanпропущено... Кэширование отключено? У клиента - VDS в датацентре, у нас обычный десктоп. Кэширование не отключали. Сотня потоков логируют в один файл общение с железками. Общение у каждого 3-5 операций туда-обратно в секунду пакетами по 10-50 байт. Это какая нагрузка по твоей классификации? Это мало. В нашем случае число записей/чтений в пике было в десяток раз больше. у меня в системе видеонаблюдения от нескольких десятков камер одновременно льются потоки 25 кадров в секунду, и никаких синих экранов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 20:36 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
Синий экран в моем случае получался при таком раскладе: 1) 100 потоков одновременно писали каждый в свой лог файл. В ходе этого каждый из них делал кучу запросов к базе данных. При этом простейшие запросы выполнялись по минуте. 2) в основном потоке был таймер, который также приводил к обращению к БД и записи в лог. В итоге интерфейс программы зависал напрочь. 3) через некоторое время получался синий экран. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 22:04 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
defecator, я тут недавно пытался искать программЫ, которые тупо скачивают сайты всё такое до ж..ы красивенькое, но в отличие от Телепорта ни хрена не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 14:48 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
Ariochdefecator, я тут недавно пытался искать программЫ, которые тупо скачивают сайты всё такое до ж..ы красивенькое, но в отличие от Телепорта ни хрена не работает вот поэтому я древнейшим телепортом и пользуюсь до сих пор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 15:43 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
defecatorкороче, пришлось достать старый добрый Телепорт образца 2001-го года Извращенцы... svn co недостаточно хардкорно? А если уж хочется черезжопное путешествие, то wget в режиме mirror ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 20:33 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
Василий 2defecatorкороче, пришлось достать старый добрый Телепорт образца 2001-го года Извращенцы... svn co недостаточно хардкорно? А если уж хочется черезжопное путешествие, то wget в режиме mirror зачем wget, если есть Телепорт ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 09:21 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
Докdefecatorзачем wget, если есть Телепорт ? телепорт тоже является svn-клиентом? а wget разве является svn клиентом ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 10:11 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
defecatorа wget разве является svn клиентом ? формально нет. Но применяется традиционно и кроссплатформенно для закачки с svn-ресурсов, насколько мне известно. А Телепорт для этих целей - весьма свежо и креативно, хотя и подменяет понятия теплое на мягкое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 10:44 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
Докdefecatorа wget разве является svn клиентом ? формально нет. Но применяется традиционно и кроссплатформенно для закачки с svn-ресурсов, насколько мне известно. А Телепорт для этих целей - весьма свежо и креативно, хотя и подменяет понятия теплое на мягкое мне были нужны только файлы, svn не нужен. Когда мне нужен SVN, я пользуюсь TortoiseSVN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 10:56 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
Так, в рекурсию не уходите там. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 12:33 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
На работе провёл эксперимент, цель которого понять, какой износ для 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 используется самый неэффективный способ записи в логи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2019, 10:08 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
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 можно ставить только как системный диск ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2019, 20:22 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
в нынешних достижениях SSD можно ставить только как системный диск в нынешних достижениях SSD отпадает необходимость в HDD. Но в некоторых областях применения существуют свои нюансы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2019, 23:56 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
DmSerв нынешних достижениях SSD отпадает необходимость в HDD. Ага, особенно с QLC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2019, 01:24 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyDmSerв нынешних достижениях SSD отпадает необходимость в HDD. Ага, особенно с QLC Сегодня qlc боязно использовать, а завтра обкатают и все на него перейдут. Недаром Samsung делает ставку на qlc даже для серверных ssd. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2019, 10:32 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
Сравнительно недавно переделал свою систему логирования на подобие LazyWrite. Поставил на глаз задержку 100мс - пока вроде хватает. Можно и больше ставить, но тогда у меня сильный разброс данных будет в файлах логов - в данном случае они у меня создаются отдельно на каждый час. В общем-то не критично, но пока незачем. Проблема выросла, когда логи пишутся массово и помногу, но малыми порциями и часто. Не столь важно оказалось даже кол-во потоков, как антивирус. Благодаря нему они записываться не успевали на медленном винте и очередь (моя) переполнялась, аутофмемори получал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2019, 12:34 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
YuRockМожно и больше ставить, но тогда у меня сильный разброс данных будет в файлах логов Это как? Там что, каждый поток пишет отдельно в одни и те же файлы, в результаты логи идут не последовательно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 09:34 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
JaDiYuRockМожно и больше ставить, но тогда у меня сильный разброс данных будет в файлах логов Это как? Там что, каждый поток пишет отдельно в одни и те же файлы, в результаты логи идут не последовательно?Сейчас так (упрощенно): 1. Все потоки пишут в определенный один буффер в памяти; 2. Каждые 100мс дополнительный (пишущий в файл) поток забирает эти данные в свой буффер и очищает тот общий, записывает данные в файл из своего буффера, для чего генерит имя этого файла (в зависимости от настроек - резать логи по годам, месяцам, дням или часам). Единственная некритичная проблема - это то, что некоторые данные за время предыдущего часа попадут не в свой файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 20:45 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
YuRockЕдинственная некритичная проблема - это то, что некоторые данные за время предыдущего часа попадут не в свой файл.Эту проблему можно решить разными способами, но меня ломает усложнять алгоритм - не критично совершенно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 20:47 |
|
||
|
Ann: LDSLogger updated
|
|||
|---|---|---|---|
|
#18+
DmSerНедаром Samsung делает ставку на qlc даже для серверных ssd.Серверные SSD это не оксюморон , просто отложенная реклама облаков. Если по делу, то возможно пригодится ветка Форматирование флешевых накопителей с выравниванием кластера на границу блока . Хотя контроллеры и существенно отличаются по сложности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 09:51 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2038994]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 482ms |

| 0 / 0 |
