Я использую стороннее приложение, которое использует BerkeleyDB для своего локального хранилища данных (называемое BMC Discovery). Со временем его фрагменты BDB и стали смехотворно большими, а BMC Software разработала компактную утилиту, которая в основном использует db_dump, подключенный к db_load с новым именем файла, а затем заменяет исходный файл на восстановленный файл.Как рассчитать продолжительность операции дампа/загрузки BerkeleyDB для данного файла BDB?
Время, которое может потребоваться для больших файлов, безумно длинное и может занимать несколько часов, в то время как некоторые другие на тот же размер занимают половину этого времени. Кажется, что это действительно зависит от уровня фрагментации в файле и/или типа данных в нем (я предполагаю?).
Приведенная утилита использует грубый метод для согласования продолжительности, основанной на общем размере хранилища данных (который состоит из нескольких файлов BDB). Ex. если более 1G говорят, что «займет несколько часов», и если более 100G скажут «займет много часов». Это совсем не помогает.
Мне интересно, если бы был лучший, более точный способ, используя команды, предоставленные BerkeleyDB.6.0 (в Red Hat), для оценки продолжительности операции db_dump/db_load для конкретного файла BDB?
Примечание. Несмотря на то, что в этом вопросе упоминается конкретное стороннее приложение, вам просто нужно поставить вас в контекст. Вопрос важен для BerkelyDB.