Posted by Аркадий Водяник on June 21, 1999 at 05:40:55:
In Reply to: ФБП: Сеpвеp 3.02. Первые впечатления posted by Анатолий Анимица on June 20, 1999 at 08:20:14:
Анатолий Антонович пишет:
6. Резюме. Работать можно уже сейчас. Ничего не разваливается. Но я бы посоветовал
пока воздержаться.
И он прав (только в отношении версии Сервера 3.02), так как скорость работы
файловой системы при большом количестве файлов в каталоге (в данном случае в TXA)
неудовлетворительна.
Я написал на Паскале следующий тест. Его первая часть создает N файлов в каталоге:
var f : text; fn: string; i,N : longint;
begin
readln(N)
for i:=1 to N
do begin str(i,fn); assign(f, '.\TXA\' + fn); rewrite(f); write(f,i); close(f); end;
end.
var f : text; fn: string; i,N : longint;
begin
readln(N)
for i:=1 to N
do begin str(i,fn); assign(f, '.\TXA\' + fn); reset(f); close(f); end;
end.
----------------------------------------------------------------
Количество файлов | Время открытия/закрытия всех файлов каталога
в каталоге (N) |---------------------------------------------
| FAT | NTFS
|---------------------------------------------
| общее,с на один | общее,с на один
| файл, мс | файл, мс
----------------------------------------------------------------
100 | 0.03 0.3 | 0.03 0.3
1000 | 0.30 0.3 | 0.30 0.3
5000 | 7.2 1.4 | 4.4 0.9
10000 | 19 1.9 | 10 1.0
20000 | 128 6.4 | 20 1.0
50000 | 1114 22.3 | 72 1.4
----------------------------------------------------------------
б) При большом количестве первичных документов версия 3.02 будет работать неприемлемо
медленно в Windows 95/98 (где нет NTFS). Успешно работать можно только в Windows NT
с NTFS.
Что я введу в версии ФБП:Сервере 3.03:
В каталоге для хранения первичных документов и их дескрипторов (TXA) Сервер будет создавать
подкаталоги: TXA\A (для января), TXA\B (для февраля) и т.д. И документы с дескрипторами
будут храниться в этих подкаталогах, в зависимости от того, к каким месяцам они относятся.
Таким образом, количество файлов в одном каталоге будет уменьшено в среднем в 12 раз.
И в подавляющем большинстве случаев переход от Windows 95/98 к Windows NT с NTFS
не потребуется.
Ну и конечно же, файлы первичных документов с нулевой длиной (и дескрипторы к ним)
создаваться не будут.
Спасибо, Анатолий Антонович, за быстрое выявление узких мест.
Спасибо также за идею сохранения в файле-дескрипторе предыдуших версий первичного документа.
Эта идея мне настолько понравилась, что была реализована сразу же после Вашего звонка по
этому поводу.