Форум » [x]Harbour » Копирование открытых баз данных » Ответить
Копирование открытых баз данных
Dima: Имею непонятку. Cтал в последнее время замечать что скорость копирования базы а она на данный момент весит 10 гиг , стало занимать до ~15 минут , хотя пару недель назад это время было всего ~32 секунды. Провел эксперимент , в базах ни кого нет , время копирования базы заняло ~32 секунды , зашел в прогу и перешел в раздел где открывается много баз и снова запустил копирование , цирк ...время заняло ~ 33 секунды и ни какими минутами и не пахнет. Копирую базы так [pre2] FOR EACH aFile IN aDir hb_DynCall({ "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL },pathbase+"dbf\"+afile[1],pathbase+"zip\"+afile[1],0) hb_releaseCPU() Next [/pre2] Винт SSD и ему почти 2 года. Не пойму куда копать ....есть какие мысли у кого ?
Dima: Dima пишет: Прикольно на одном из серваков уже сделал 2 замера Уже 4 замера , время стабильно
Pasha: PSP пишет: Разрешите не согласиться. VSS с этим справляется. Она на другом уровне работает, не файловом. Ну да, прямому чтению кластеров до лампочки, как файл открыт и открыт ли он вообще А копирование открытого файла так себе затея. Во время копирования в разные участки файла другим процессом может производиться запись, и один участок успеет скопироваться до записи, другой нет, и целостность копии будет нарушена.
PSP: Pasha пишет: А копирование открытого файла так себе затея. Во время копирования в разные участки файла другим процессом может производиться запись, и один участок успеет скопироваться до записи, другой нет, и целостность копии будет нарушена. Ну, в случае с VSS это исключено. Создается моментальная теневая копия диска. Сначала блокируются изменения ВСЕХ кластеров, содержащих данные. Потом нужные данные копируются. Все изменения данных записываются в свободные кластеры, т.е., для приложения всё происходит прозрачно и незаметно. После завершения копирования теневая копия удаляется и все изменения, произошедшие за время копирования, синхронизируются. Так что ни о каком нарушении целостности не может быть и речи.
Andrey: PSP пишет: Разрешите не согласиться. VSS с этим справляется. Она на другом уровне работает, не файловом. Пропустил, что за зверь такой ?
PSP: Andrey пишет: Пропустил, что за зверь такой ? https://ru.wikipedia.org/wiki/Теневая_копия
Dima: PSP пишет: В плане бреда... А что, если дескрипторы файла "zip\..." остаются открытыми после копирования и со временем их становится много, как будто файл открыт из разных программ, а? Тут возникаю вопросы с блокировками, кэшированием и т.д. Проверил тулзой Handle от Sysinternals , не остаются открытыми , в этом плане норм. Тогда не понятна ситуация с ростом времени. Если юзать для копирования в той же проге Robocopy , то роста времени нет совсем ....прыгает от 7 до 15 секунд , это замеры за сутки
PSP: Может правда косяк в CopyFileA с кэшем?
Dima: Насчет VSS , смотрю есть тулза HoboCopy , но чёт не могу найти актуальную ссылку на нее
PSP: Dima пишет: Насчет VSS , смотрю есть тулза HoboCopy , но чёт не могу найти актуальную ссылку на нее Cobian (я тебе о ней писал) использует VSS.
PSP: Есть Cobian Backup 11 (больше не развивается). А есть Cobian Reflector (следующая). Я использую Cobian Backup. Важно: требует .Net 3.5
Dima: PSP пишет: Cobian (я тебе о ней писал) использует VSS. Это я помню , но HoboCopy работает из командной строки как и Robocopy , вот почему и отписал :)
PSP: Dima пишет: из командной строки А это обязательно? Это - служба (точнее две). Один раз настроил и всё. Дальше оно само)
Dima: PSP пишет: А это обязательно? Ну мне так удобнее , так как бекап делает моя прога , кроме остального функционала а его там много
PSP: Есть Diskshadow. Но она для серверов, вроде.
PSP: Есть еще VShadow. Тут чувак немного ее описывает: https://m151163.blogspot.com/2013/11/volume-shadow-copy-service.html
PSP: Всё, я отстал))
Dima: PSP пишет: Всё, я отстал)) Не нуно )) Значит так , нарыл Hobocopy 32 бита на Windows 7 работает на ура. На сервере Windows 2008 работать отказалась падлюка и упало с ошибкой There was a COM failure 0x80042302 - .\HoboCopy.cpp (172) Стал мучать поисковик , нарыл 64 битную версию и заработало на серваке Короче если кому надо налью оба варианта.
SergKis: Dima пишет Короче если кому надо налью оба варианта. Кинь тудой, на ftp. Спасибо
Dima: готово
Dima: SergKis Для работы из архива нужен только EXE файл
полная версия страницы