"Viktor Belzetskiy" ...
Расклад user\kernel не смотрел ?
Да, 99% кернел. Замечено что загрузка ядра нбекапом возвостает при росте файлового кеша и составляем практически 100% при
забивании всей доступной памяти файловым кешем.
Странно это. При использовании -D ON (FILE_FLAG_NO_BUFFERING) кеш ФС
никак не должен забиваться данными, прочитанными nbackup'ом...
Правда он ещё и пишет сам бекап, и не использует FILE_FLAG_NO_BUFFERING,
независимо от -D... Но последовательная запись *нового* файла на моей
памяти ещё не приводила к его полному кешированию и забиванию кеша.
Потому возникло подозрение что это связано с операционкой и я провел тест на немного другом оборудовании (Core 2 duo, 3.2ГГц,
RAID0-4HDD) c 32-х битной Win2003.
Тоже intel raid matrix ?
nbackup.exe -u sysdba -p masterkey -B 0
localhost:d:\test_db\retail_m_2010_2.fdb d:\test_db\retail_0_2.nbk
С удалением в параллельном коннекте тех-же 100млн записей.
При этом выяснилось следующее:
Доступная физицеская память не забивается файловым кешем и
Очень хорошо, так и должно быть. Соответственно проблема или внутри
Win2008 R2 x64, или внутри какого-либо её драйвера (intel raid matrix ?)
соответственно нбекап не грузит ядро на 100%
Я бы не торопился говорить "соответственно" в данном месте. Прямая связь
между забитым кешем ФС и 100% загрузкой ядра пока не доказана.
и все по прежнему тормозит.
Не понято. Раньше nbackup грузил ядро на 100% и всё тормозило.
Теперь - "нбекап не грузит ядро на 100% и все по прежнему тормозит".
Тут нет описки ?
Да, должен заметить, что скорость чтения\записи с FILE_FLAG_NO_BUFFERING
может (и должна) быть в несколько раз меньше, чем через файловый кеш. Может
эти тормоза имеются в виду ? Так они вполне ожидаемы.
+ получил удар по голове в виде
==============================
RASCHET3 Thu Jan 13 17:52:08 2011
I/O error during "WriteFile" operation for file
"D:\TEST_DB\RETAIL_M_2010_2.FDB.delta"
Error while trying to write to file
Недостаточно места на диске.
RASCHET3 Thu Jan 13 17:52:08 2011
Database: D:\TEST_DB\RETAIL_M_2010_2.FDB
I/O error during "WriteFile" operation for file
"D:\TEST_DB\RETAIL_M_2010_2.FDB.delta"
Error while trying to write to file
Недостаточно места на диске.
internal Firebird consistency check (error during savepoint backout (290),
file: exe.cpp line: 4129)
RASCHET3 Thu Jan 13 17:52:10 2011
I/O error during "WriteFile" operation for file
"D:\TEST_DB\RETAIL_M_2010_2.FDB.delta"
Error while trying to write to file
Недостаточно места на диске.
==============================
Где-то в конце удаления данных ибо розмер дельтафайла 9гиг.
А как смотрится размер дельтафайла ? Винда редко обновляет на диске
размер быстрорастущего файла и добиться от неё правды во время этого процесса
не так просто.
При этом на диске с базой свободно 70Гб, на диске с IBTemp 260Гб.
FB не придумал описание ошибки, его дала ОС.
Это все естественно на V2.5.0.26074 CS. Гугль подсказал что на тему "backout 290" что-то правилось или будет справлено, но в каких
версиях пока не разобрался.
Конкретно этот случай вряд ли исправлялся.
А если взять xcopy, а не FAR ?
Использовался FAR x64 с включенной функцией системного копирования. Но если
нужно проверю и с xcopy.
Вообще говоря интересует утилита копирования, которая не использует
файловый кеш (т.е. работает с FILE_FLAG_NO_BUFFERING).
--
Хорсун Влад
PS Кстати, на Win2008 R2 x64 - какой разрядности был FB и какие опции в конфиге
были изменены ?