On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
администратор




Пост N: 7866
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.11.23 19:18. Заголовок: Копирование открытых баз данных


Имею непонятку.
Cтал в последнее время замечать что скорость копирования базы
а она на данный момент весит 10 гиг , стало занимать до ~15 минут ,
хотя пару недель назад это время было всего ~32 секунды.
Провел эксперимент , в базах ни кого нет , время копирования
базы заняло ~32 секунды , зашел в прогу и перешел в раздел
где открывается много баз и снова запустил копирование ,
цирк ...время заняло ~ 33 секунды и ни какими минутами и не пахнет.
Копирую базы так
 
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

Винт SSD и ему почти 2 года.
Не пойму куда копать ....есть какие мысли у кого ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 84 , стр: 1 2 3 4 5 All [только новые]


администратор




Пост N: 7876
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.11.23 19:17. Заголовок: SergKis Тут не стол..


SergKis
Тут не столько борьба за скорость , хотя она тоже важна , тут битва идёт уже что бы время не расло всё время.
Если задачу не перезапускать то в какой то момент через ..надцать дней скажем , копирование может занять
1 час или типа того.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4464
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.23 19:24. Заголовок: Dima пишет Если зада..


Dima пишет
 цитата:
Если задачу не перезапускать то в какой то момент через ..надцать дней скажем


Вынь из задачи, помести в фоновый поток, например на планировщик запуск, твоего же exe с параметром только для выполнения копии, или твоя задача по timer запускает себя с параметром для вып. копии

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7877
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.11.23 19:29. Заголовок: Нет , планировщик не..


Нет , планировщик не использую а вот сам процесс копирования действительно можно вынести в отдельный EXE
и из потока его запускать. Должно помочь думается в плане времени копирования , так как первый раз всегда
отрабатывает быстро

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4465
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.23 19:32. Заголовок: Ты можешь не выносит..


Ты можешь не выносить из exe (там у тебя все определено и отлажено и есть вызов), сделай параметр входа для копирования и запускай тот же exe с этим параметром. Зачем лишние exe плодить ? Не всегда это оправдано

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4140
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 30.11.23 22:20. Заголовок: Dima пишет: Оказало..


Dima пишет:

 цитата:
Оказалось что нет , мало замеров на тот момент сделал.
Сравнил по скорости win_CopyFile и HB_VFCOPYFILE. В цикле от 1 до 3 копирую файлик на 2 гига
win_CopyFile время
36.62
53.17
48.71

HB_VFCOPYFILE
41.62
43.62
40.51



win_CopyFile - это просто обертка для winapi-шной CopyFile. Как она работает, что там внутри делается - неизвестно.

HB_VFCOPYFILE - там все прозрачно, исходный файл читается последовательно в буфер размером 64k, и этот буфер пишется в результирующий файл. Понятно, что windows еще сама как-то буферизирует эти операции чтения - записи.
Для огромных файлов буфер 64k явно маловат. Можно сделать свой аналог, в котором задавать размер буфера

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4141
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 01.12.23 09:48. Заголовок: Dima пишет: SergKis..


Dima пишет:

 цитата:
SergKis
Тут не столько борьба за скорость , хотя она тоже важна , тут битва идёт уже что бы время не расло всё время.
Если задачу не перезапускать то в какой то момент через ..надцать дней скажем , копирование может занять
1 час или типа того.



Так нет чистого времени копирования, слишком много факторов влияют на время в каждом случае. Скажем, в это время качается обновление винды, диск занят и на другие операции, время скакнет. Или антивирус вздумает запустить проверку, и дергает тот же диск. А таких или может быть сколько угодно. Важно удостовериться, что у тебя все организовано без дырок, и более-менее оптимально

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1694
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.12.23 10:51. Заголовок: Разрешите вставить с..


Разрешите вставить свои 5 копеек)
Вот, если речь идет о бэкапе, то, имхо, тут лучше использовать сторонние средства. Я пользуюсь Cobian Backup. Отличная штука. Она использует механизм теневых копий, так что может копировать открытые в других программах файлы. Весьма удобна.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7878
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.12.23 18:29. Заголовок: PSP пишет: Cobian B..


PSP пишет:

 цитата:
Cobian Backup


Интересная тулза и главное бесплатно

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1695
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.12.23 18:33. Заголовок: Она работает чётко. ..


Она работает чётко. Много лет ей пользуюсь)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7879
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 02.12.23 18:24. Заголовок: Pasha пишет: Так не..


Pasha пишет:

 цитата:
Так нет чистого времени копирования, слишком много факторов влияют на время в каждом случае. Скажем, в это время качается обновление винды, диск занят и на другие операции, время скакнет. Или антивирус вздумает запустить проверку, и дергает тот же диск. А таких или может быть сколько угодно. Важно удостовериться, что у тебя все организовано без дырок, и более-менее оптимально


Ну как бы согласен теоретически ...., не поленился и поставил эксперимент , запустил приложение которое в том числе выполняет и копирование
базы данных (в сети была куча юзеров) , отработало копирование , вышел из задачи и так 10 раз подряд
Время копирования 15-16 секунд а вот если не выгружать и дать ему работать и каждый час копировать то статистика в секундах следующая.
 
Время копирования : 16.46 //1 запуск
Время копирования : 36.50
Время копирования : 58.74
Время копирования : 74.52
Время копирования : 96.05
Время копирования : 116.97
Время копирования : 133.02
Время копирования : 158.03
Время копирования : 176.51
Время копирования : 204.95
Время копирования : 218.67
Время копирования : 239.52
Время копирования : 259.55
Время копирования : 281.21
Время копирования : 296.34



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7880
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.12.23 19:40. Заголовок: Проблему решил косты..


Проблему решил костылём.
Если время копирования базы превышает N секунд , убиваю поток и заново его запускаю.
Работает однако.

PS
Почему росло время хз.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1696
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.12.23 15:29. Заголовок: В плане бреда... А ч..


В плане бреда... А что, если дескрипторы файла "zip\..." остаются открытыми после копирования и со временем их становится много, как будто файл открыт из разных программ, а? Тут возникаю вопросы с блокировками, кэшированием и т.д.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1697
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.12.23 15:35. Заголовок: Вот нечто https://ww..

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7881
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.23 15:35. Заголовок: PSP Фиг его знает ,..


PSP
Фиг его знает , я тестил все возможные функции по копированию и всегда растет время , остановился на CopyFileA
потому что самая быстрая.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7882
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.23 15:37. Заголовок: PSP пишет: Вот нечт..


PSP пишет:

 цитата:
Вот нечто https://www.cyberforum.ru/win-api/thread983172.html


писец у нас это сайт заблочен ....придется юзать тор браузер

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1698
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.12.23 15:41. Заголовок: А ты вот попробуй пе..


А ты вот попробуй перед копированием файл назначения переименовать, а после успешного копирования старый удаляй.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7883
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.23 15:56. Заголовок: PSP пишет: А ты вот..


PSP пишет:

 цитата:
А ты вот попробуй перед копированием файл назначения переименовать


чёт я не очень понял
как переименовать то чего еще нет , так как операция копирования еще не происходила ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1699
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.12.23 15:56. Заголовок: Dima пишет: чёт я н..


Dima пишет:

 цитата:
чёт я не очень понял
как переименовать то чего еще нет , так как операция копирования еще не происходила ?


А destination каждый раз новый создается? Или перезаписывается?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7884
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.23 16:01. Заголовок: схема такая копирую ..


схема такая
копирую файлы базы данных в пустую папку
затем все скопированные файлы ZIPую , копирую архив
на диск где живут бекапы
папку куда копировал файлы базы полностью очищаю

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1700
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.12.23 16:02. Заголовок: Ясно, но ясности это..


Ясно, но ясности это не добавило

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 84 , стр: 1 2 3 4 5 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 332
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет