Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: CL | DM;

Вниз

Как быстро скопировать 500 маленьких файлов   Найти похожие ветки 

 
Плохиш ©   (2006-09-06 12:48) [40]


> DiamondShark ©   (06.09.06 12:22) [30]
>
> > Головкам не нужно
>
> Это не в ту степь.

В [21] и [22] про сети ничего не говориться, а уточняется как раз другое. Так что сами Вы степью ошиблись.


 
lessard   (2006-09-06 12:49) [41]

Объяснял же... у меня при запуске СУБД создаётся локальная копия профиля пользователя (т.к. если рабоают в базе все, тормоза дикие). А при изменении/нажатии "сохранить" это переписывается обратно, сверяясь с текущими изменениями оригинальных файлов. Я вот только не подумал - может не копировать те файлы, которые не были изменены? Или же получение exist/date/time тоже существенно замедлит работу?


 
lessard   (2006-09-06 12:51) [42]

Плохиш, DiamondShark, ребят, мы тут тему обсуждаем... не про скорость работы, явно...


 
Skyle ©   (2006-09-06 12:55) [43]

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

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

А ты уменьшением времени копирования пытаешься изобразить транзакцию, я правильно понимаю?


 
lessard   (2006-09-06 12:57) [44]

Корче получается так: когда юзер загружает базу, файлы формата *.job и *.dxf (двоичные для заданий/записей о выполнении) копируются в папку %APPATH%\cache\*.job и *.dxf соответственно. Когда юзер нажимает сохранить, файлы *.job едут обратно, *.dxf копируются только после завершения сеанса, т.к. всё равно ещё будут изменяться. Я не имею опыта работы с БД, к сожалению...


 
Skyle ©   (2006-09-06 13:03) [45]


> не имею опыта работы с БД, к сожалению...

Я с такой тоже уже не имею

Как там по скорости получилась идея с выборочным копированием?


 
lessard   (2006-09-06 13:04) [46]

Я вот правда подумывал как бы сделать из всех job"ов один файл, но запутался с заголовками - они все разного размера и непонятно, как писать и куда писать...как вариант было сделать ещё файл jobs.idx в котором эти индексы и записывать, но почему-то Database.Seek(10, 0) не даёт нужного рез-та, пишется в конец файла после последней записи...


 
Плохиш ©   (2006-09-06 13:04) [47]


> lessard   (06.09.06 12:51) [42]
> Плохиш, DiamondShark, ребят, мы тут тему обсуждаем... не
> про скорость работы
, явно

Странная ветка, однако, говорят про одно, а обсуждают другое.

> lessard   (06.09.06 12:57) [44]
> Корче получается так

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


 
lessard   (2006-09-06 13:05) [48]

Skyle а это и не биде. это грубая поделка одного из наших прогаммеров-экстремалов, плоды чьего творчества я сейчас пожинаю - это была его идея.

Выборочное копирование по 4 байта за раз получилось на 0,239 сек. меньше, чем полное...


 
lessard   (2006-09-06 13:06) [49]

Плохиш, это не обсуждается в плане невозможности технического осуществления да и не нужно оно нам, пока менеджеров 50 человек...


 
Skyle ©   (2006-09-06 13:07) [50]


> [48] lessard   (06.09.06 13:05)
> Skyle а это и не биде. это грубая поделка одного из наших
> прогаммеров-экстремалов, плоды чьего творчества я сейчас
> пожинаю - это была его идея.


Сочуствую.


> Выборочное копирование по 4 байта за раз получилось на 0,239
> сек. меньше, чем полное...

Именно байта? Не Кб?


 
lessard   (2006-09-06 13:13) [51]

фу
Кбайта
заописался уже :(


 
Skyle ©   (2006-09-06 13:30) [52]

Ну похоже что тупо упираемся в сеть.

А намного меньше стало файлов копироваться?


 
lessard   (2006-09-06 13:40) [53]

Skyle, да, сеть тут попа настоящая :(
52-100 файлов за раз получается. пока не проверял особо, манагеры халявничают.


 
Skyle ©   (2006-09-06 13:40) [54]

Нет, а самый тупой вариант не работает чтоли?

"собрать у клиента все изменения в каком-то своём формате", дать клиенту работать дальше, как-нибудь перекинуть эти изменения на сервер, применить, вернуть ответ.

Собственная такая вот реализация транзакций ;-)


 
lessard   (2006-09-06 13:42) [55]

В ответ на ваш последний пост, коллэга, хочю добаветь, што...
а по русски можно? я программист начинающий, неопытный, с сетями дела не имел... :-[


 
Skyle ©   (2006-09-06 13:55) [56]

Это не сети, это базы.

Я предлагал отправлять не все файлы на сервер и даже не изменённые файлы, а непосредственно сами изменения. То есть грубо изменённые строки или даже поля.

Правда в зависимости от конкретных реалий эта задача может (и скорее всего должна) стать неподъёмной.


 
lessard   (2006-09-06 14:05) [57]

Дело в том, что в данном случе используется packed record и я как вариант вижу только отправку на сервер обработки куска файла с данными именно этой записи, последующей обработки и тд... но по сути это то же что есть сейчас - просто использую seek...


 
Skyle ©   (2006-09-06 14:07) [58]

А поставить на сервер какой-нибудь сервер терминалов и свести задачу к локальному копированию не получится? ;-)

Хотя 50 юзеров этот сервер разорвут....


 
lessard   (2006-09-06 14:12) [59]

Как понять к локальному копированию? М.. извиняюсь за тупость:)


 
Skyle ©   (2006-09-06 14:17) [60]

Да я просто предложил перевести менеджеров на работу в терминале (который удалённый рабочий стол).
Тогда фактически они все будут работать на том самом компьютере который сервер. И эти самые кэши будут работать точно также, только вот для их копирования не требуется передача по сети, потому что всё в рамках одного компа...


 
lessard   (2006-09-06 14:26) [61]

А, ты об этом... знаешь, была идея с rdp (если ты про ето)....как-то не срослось... да и в техническом плане это кажись дешевле...


 
Skyle ©   (2006-09-06 14:29) [62]

Ага, именно rdp... Citrix не предлагаю, дорого.

Но в любом случае, ситуация складывается патовая.
Нужно либо уменьшить объём передаваемых данных (при этом не увеличивая время на обработку), либо ускорить сеть, либо придумать супер-пупер быстрый вариант копирования на имеющейся сети, чего мы пока так и не нашли..


 
lessard   (2006-09-06 14:32) [63]

да собственно по этой теме я сюда и обращался...
хотя... может быть если ты посмотришь код, ты сможешь предложить что-то ещё? :-[


 
Skyle ©   (2006-09-06 14:35) [64]


> [63] lessard   (06.09.06 14:32)
> да собственно по этой теме я сюда и обращался...
> хотя... может быть если ты посмотришь код, ты сможешь предложить
> что-то ещё? :-[


Можно попробовать.


 
lessard   (2006-09-06 14:39) [65]

стукни в асю 269379191



Страницы: 1 2 вся ветка

Текущий архив: 2006.10.15;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.046 c
2-1159683154
Михель
2006-10-01 10:12
2006.10.15
как вернуть юникод назад к читаемому виду?


2-1159685512
Roeg
2006-10-01 10:51
2006.10.15
Как вывести чужое окно на передний план?


15-1158838499
StriderMan
2006-09-21 15:34
2006.10.15
Софт для управления проектами


3-1155246216
Oxot_nik
2006-08-11 01:43
2006.10.15
Как создать дерево таблиц в Базе данных?


15-1159108905
Проггер из библиотеки
2006-09-24 18:41
2006.10.15
Информация о мониторе Samtron 76 BDF