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




Пост N: 4448
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.02.15 15:46. Заголовок: Копирование большого файла по сети


У себя в проге (вспомогательной) создаю архив базы каждый час и затем этот архив
копирую по сети с сервера на архивный комп. При этом сеть (канал сервер - комп цель)
грузится на 100 %. Архив с каждым днем растет. Сейчас он занимает 165 метров и весь
процесс копирования занимает 15 секунд.
В тот момент когда архив копируется в основной программе народ получает 15 секундный
тормоз и очень ощутимый. Это и понятно почему так как канал забит.
Как избежать тормоза при копировании по сети ?


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


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




Пост N: 428
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.02.15 16:00. Заголовок: Dima пишет: каждый ..


Dima пишет:

 цитата:
каждый час и затем этот архив
копирую по сети с сервера на архивный комп



Дима, а зачем каждый час на архивный комп то ? Держи рабочую почасовку на сервере , а на архивный во внерабочее время по шедулеру с удалением с сервера.

Сам так поступаю, средствами ADS полный почасовой бекап базы , а в 2 ночи все уезжает в хранилище и там циклически храниться не старше 2 месяцев

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




Пост N: 4449
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.02.15 16:02. Заголовок: Haz пишет: Дима, а ..


Haz пишет:

 цитата:
Дима, а зачем каждый час на архивный комп то ?


Так заказали Игорь , мол на тот случай если упадет основной сервер.
Haz пишет:

 цитата:
Держи рабочую почасовку на сервере , а на архивный во внерабочее время по шедулеру с удалением с сервера.


Такая мысль была , но работают там 24 часа в сутки. Вне рабочее время только с субботы с 17-00 до воскресения 14-00

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




Пост N: 3937
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.02.15 16:04. Заголовок: Dima пишет: Как изб..


Dima пишет:

 цитата:
Как избежать тормоза при копировании по сети ?



Делай копирование порциями (блоками 32Кб или 64Кб - вычисли самостоятельно). И делай длительную паузу между копировании порций.
А в паузе НЕ ДЕЛАЙ типа INKEY(30) - а то проц грузится...

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




Пост N: 4450
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.02.15 16:09. Заголовок: Andrey пишет: Делай..


Andrey пишет:

 цитата:
Делай копирование порциями


Да я помню что был где то примерчик у нас на форуме но пока не могу найти.

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




Пост N: 429
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.02.15 16:10. Заголовок: Чем копируешь ? Ког..


Чем копируешь ? Когдато для этой цели использовал RoboCopy - оч грамотно и быстро работает в сети.
ли установи Acronis BackUp и забудь про бекапы )) У меня на рабочем компе стоит с инкрементальными бэкапами всех исходников каждый час и с поддержкой до 5 версий


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




Пост N: 4451
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.02.15 16:12. Заголовок: Haz пишет: Чем копи..


Haz пишет:

 цитата:
Чем копируешь ?


Вот этим hb_DynCall( { "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL }, cSource, cDest, 0 )
То есть какие то чужие вспомогательные проги не используются , все свое самописное.

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




Пост N: 430
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.02.15 16:20. Заголовок: Dima пишет: все св..


Dima пишет:

 цитата:
все свое самописное.


тогда бить архив на тома размером 1.5 МБ и копировать их с таймаутом в 5 мин. должно в итоге за час получиться 10 тормозов длительностью 1.5 секунды ) потерпеть можно

Бить можно на сервере и не склеивать на архивном а делать это при необходимости восстановления


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




Пост N: 4452
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.02.15 16:25. Заголовок: Haz HB_ZIPFILEByTDS..


Haz
HB_ZIPFILEByTDSpan разве умеет бить на тома ?

Смотрю примерчик C:\MiniGUI\SAMPLES\BASIC\Filecopy\ , вариант однако и там же
можно вставить задержку.
Вот только работает ли Fcreate , Fopen c UNC путями не знаю и надо проверять.

Проверил. Пашет fcreate("\\127.0.0.1\Sklad$\test555.txt")

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




Пост N: 431
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.02.15 16:28. Заголовок: порезать можно уже г..


порезать можно уже готовый ZIP "своим" сплитером из программы

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




Пост N: 4453
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.02.15 16:36. Заголовок: Haz Тоже вариант :..


Haz
Тоже вариант

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




Пост N: 432
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.02.15 16:39. Заголовок: Dima пишет: Смотрю ..


Dima пишет:

 цитата:
Смотрю примерчик C:\MiniGUI\SAMPLES\BASIC\Filecopy\



как вариант пойдет, особенно если докачку там прикрутить в случае падения сети



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




Пост N: 4454
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.02.15 16:47. Заголовок: Haz пишет: особенно..


Haz пишет:

 цитата:
особенно если докачку там прикрутить в случае падения сети


Не совсем понял мысль как ее там прикрутить. Думаю и без нее покатит.

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



Пост N: 120
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 01.02.15 17:14. Заголовок: А зачем вообще загружать сеть ?


К серверу подключается внешний USB-диск 2 Тбайт и на него все копировать, минуя сеть.

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




Пост N: 4455
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.02.15 17:16. Заголовок: Haz пишет: Сам так ..


Haz пишет:

 цитата:
Сам так поступаю, средствами ADS полный почасовой бекап базы


Должен заметить что средствами ADS копирование идет очень медленно в отличие
от связки Clipper + Ads + IPX - тут работало моментально.
Поэтому для копирования базы юзаю hb_DynCall( { "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL }, cSource, cDest, 0 )
через RPC NET:


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




Пост N: 433
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.02.15 18:14. Заголовок: Dima пишет: Должен ..


Dima пишет:

 цитата:
Должен заметить что средствами ADS копирование



не копирование, а создание копии базы. На сервере очень быстро через cSql := "EXECUTE PROCEDURE sp_BackupDatabase( ... )" или утилитой AdsBackUp.exe

получается полная копия всех таблиц и словаря. Которую потом можно развернуть через cSql := "EXECUTE PROCEDURE sp_RestoreDatabase(...)
PS. К тому же простое копирование не всегда идет т.к. таблицы залочены пользователями



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




Пост N: 4456
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.02.15 18:17. Заголовок: а ну тогда да :sm12..


а ну тогда да
а я тёр про это AdsCopyTable

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




Пост N: 434
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.02.15 18:22. Заголовок: если докачку там при..


если докачку там прикрутить в...

имел в виду логику
Проверяем есть ли файл приемник , если нет - тупо копируем, если есть - проверяем длину ( и м.б. контрольную сумму по желанию ) . Дальше устанавливаем в источнике указатель файла на длину приемника и дописываем остаток в конец. Тогда если при копировании 100 мб из 150 прошел сбой - то допишем только 50

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




Пост N: 4457
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.02.15 18:23. Заголовок: Haz пишет: имел в в..


Haz пишет:

 цитата:
имел в виду логику


Понял

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




Пост N: 435
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.02.15 18:34. Заголовок: Haz пишет: HB_ZIPFI..


Haz пишет:

 цитата:
HB_ZIPFILEByTDSpan разве умеет бить на тома ?



умеет, надо задать размер в 7 параметре

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




Пост N: 4458
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.02.15 18:38. Заголовок: ну как бы глянув в и..


ну как бы глянув в исходник вижу

HB_SYMBOL_UNUSED( nSpanSize )

/* NOTE: Spanning not supported. */


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

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