Оно перед этим пытается создать в БД какую-то таблицу с кешем (имён всех файлов, как я понял). На что уходит очень много времени.
На бэкапе всей системы с кучей мелких файлов - около 40 минут.
Все верно.
Если вы хотите для восстановления именно выбрать файлы из задания, то при их большом количестве это будет не быстро. Webacula действительно в этот момент занимается онанизмом: создает промежуточную БД для возможности выбора файлов. Происходит это из-за того, что сама Bacula не очень-то и дружественна в веб-мордам, поэтому их и нет почти. Кроме что разной статистики и отчетов.
Об этом не раз писалось в bacula-devel.
В последних версиях Bacula изобрели BVFS, но оно не юзабельно в веб-мордах. Уже конечно получше, чем ничего, но... не совсем то.
Сама Bacula (bconsole) строит все дерево в ОЗУ, поэтому оно конечно и быстро. До кучи: кодирование информации о файле LStat реализовано нестандартно.
Короче, это не баг а фича!!