Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Вниз

Как быстро скопировать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.051 c
2-1159532700
zac
2006-09-29 16:25
2006.10.15
Зарисовка сегмента круга


2-1159206788
dreamse
2006-09-25 21:53
2006.10.15
TBlobStream


15-1158837623
iamdanil
2006-09-21 15:20
2006.10.15
(с)


3-1156101812
Lexander
2006-08-20 23:23
2006.10.15
Ошибка "Запись удалена" (Access)


3-1155991205
DancerMan
2006-08-19 16:40
2006.10.15
Ошибка при восстановлении базы данных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский