Форум » [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 года. Не пойму куда копать ....есть какие мысли у кого ?

Ответов - 84, стр: 1 2 3 4 5 All

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 файл



полная версия страницы