Re: создание/удаление миллиона файлов

From
Boris Samorodov (2:5020/400)
To
Eugene Grosbein
Date
2007-01-15T01:38:02Z
Area
RU.UNIX.BSD
From: Boris Samorodov <bsam@ipt.ru>

On Mon, 15 Jan 2007 00:50:47 +0300 Eugene Grosbein wrote to Boris Samorodov:
 EG> 14 янв 2007, воскресенье, в 20:09 KRAST, Boris Samorodov написал(а):

 EG>>> Попробовал воспроизвести
 EG>>> http://groups.google.com/group/fido7.ru.unix.bsd/msg/f3aa909c54b394cf
 EG>>> на шестерке и офигел.
 EG>>> Краткое содержание предыдущей серии: FreeBSD 4, Celeron 900E, 320M RAM,
 EG>>> диск IBM 40G ATA100 в режиме ATA33+tags, noasync+softupdates,
 EG>>> раздел 15G с 1.5Gb и 3.5 миллионов inode свободных. 
 EG>>> 20000 файлов в каталоге создавало за 2 секунды, причем как первые 20000
 EG>>> из миллиона, так и последние. Из-за особенностей реализации dirhash
 EG>>> в четверке (тормоза в момент расширения хеша) общее время создания
 EG>>> миллиона файлов в каталоге 179 секунд (три минуты), или 5586 файла
 EG>>> в секунду.

 EG>>> Сейчас запустил тот же самый скрипт на FreeBSD 6.2-PRE, Pentium-D
 EG>>> 2x2.8Gb,
 EG>>> 1Gb RAM, диск WDC 80G WD800JB-00FMA0 в режиме ATA100 (без TQ),
 EG>>> noasync+softupdates, раздел UFS2, 22G с 2Gb и 2.5 миллионов inode
 BS>> свободных,
 EG>>> ядро SMP, vfs.ufs.dirhash_maxmem: 8388608.
 EG>>> Скорость создания - 666 файлов в секунду против 10000 на четверке.
 EG>>> то есть 6% от прежней. Вот это прогресс...

 BS>> Число мистическое. ;-)
 BS>> Проверь параметры теста. У меня на двух 6.2-PRE 21-25 тыс.файлов в сек.

 EG> Не понимаю, что тут проверять. Сейчас загрузил на этой же машине
 EG> ту самую четверку, только она сейчас живет на WDC 200Gb WD2000JB-00REA0,
 EG> раздел UFS1 такого же размера, 15Gb и 2.9 миллионов inode свободных -
 EG> скорость создания 277 файлов в секунду. Вернулся в шестерку - на этом
 EG> диске та же скорость.

 EG> У тебя на 6.2-PRE 21-25 тысяч файлов не на SCSI-ли?
 EG> Если да, значит дело в tagged queueing. Очень жаль, что тот AVER у меня сдох.

 EG> Кроме tagged queueing еще разница в контроллере - хорошие результаты
 EG> у меня на четверке были с интегрированным контроллером в i440BX (ATA-33),
 EG> а тормоза сейчас на Promise UltaATA 100 TX2 PCI.

CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz (2992.51-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,C
MOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x4400<CNTX-ID,<b14>>
  Logical CPUs per core: 2

real memory  = 1071841280 (1022 MB)

%uname -a
FreeBSD bs1.sp34.ru 6.2-RC2 FreeBSD 6.2-RC2 #0: Tue Jan  2 19:33:57 MSK 2007     bsam@bs1.sp34.ru:/usr/obj/usr/src/sys/GENERIC  i386

Контроллер:
atapci1: <Intel ICH5 SATA150 controller> port 0xec00-0xec07,0xe800-0xe803,0xe400-0xe407,0xe000-0xe003,0xdc00-0xdc0f irq 18 at device 31.2 on pci0

Диск:
ad4: 238475MB <Seagate ST3250823AS 3.03> at ata2-master SATA150

vfs.ufs.dirhash_maxmem: 8388608
creating...
created 20000: 1 sec, 20000 files/sec, vfs.ufs.dirhash_mem: 536960
created 40000: 2 sec, 20000 files/sec, vfs.ufs.dirhash_mem: 673445
created 60000: 3 sec, 20000 files/sec, vfs.ufs.dirhash_mem: 795460
created 80000: 4 sec, 20000 files/sec, vfs.ufs.dirhash_mem: 979509
created 100000: 4 sec, 25000 files/sec, vfs.ufs.dirhash_mem: 979509
created 120000: 5 sec, 24000 files/sec, vfs.ufs.dirhash_mem: 1254556
created 140000: 6 sec, 23333 files/sec, vfs.ufs.dirhash_mem: 1254556
created 160000: 8 sec, 20000 files/sec, vfs.ufs.dirhash_mem: 1668153
created 180000: 8 sec, 22500 files/sec, vfs.ufs.dirhash_mem: 1668153
created 200000: 9 sec, 22222 files/sec, vfs.ufs.dirhash_mem: 1668153
created 220000: 10 sec, 22000 files/sec, vfs.ufs.dirhash_mem: 1668153
created 240000: 12 sec, 20000 files/sec, vfs.ufs.dirhash_mem: 2287522
created 260000: 13 sec, 20000 files/sec, vfs.ufs.dirhash_mem: 2287522
created 280000: 14 sec, 20000 files/sec, vfs.ufs.dirhash_mem: 2287522
created 300000: 15 sec, 20000 files/sec, vfs.ufs.dirhash_mem: 2287522
created 320000: 16 sec, 20000 files/sec, vfs.ufs.dirhash_mem: 2287522
created 340000: 19 sec, 17894 files/sec, vfs.ufs.dirhash_mem: 3218118
created 360000: 20 sec, 18000 files/sec, vfs.ufs.dirhash_mem: 3218118
created 380000: 20 sec, 19000 files/sec, vfs.ufs.dirhash_mem: 3218118
created 400000: 21 sec, 19047 files/sec, vfs.ufs.dirhash_mem: 3218118
created 420000: 22 sec, 19090 files/sec, vfs.ufs.dirhash_mem: 3218118
created 440000: 23 sec, 19130 files/sec, vfs.ufs.dirhash_mem: 3218118
created 460000: 24 sec, 19166 files/sec, vfs.ufs.dirhash_mem: 3218118
created 480000: 29 sec, 16551 files/sec, vfs.ufs.dirhash_mem: 4612984
created 500000: 30 sec, 16666 files/sec, vfs.ufs.dirhash_mem: 4612984
created 520000: 30 sec, 17333 files/sec, vfs.ufs.dirhash_mem: 4612984
created 540000: 31 sec, 17419 files/sec, vfs.ufs.dirhash_mem: 4612984
created 560000: 32 sec, 17500 files/sec, vfs.ufs.dirhash_mem: 4612984
created 580000: 33 sec, 17575 files/sec, vfs.ufs.dirhash_mem: 4612984
created 600000: 34 sec, 17647 files/sec, vfs.ufs.dirhash_mem: 4612984
created 620000: 35 sec, 17714 files/sec, vfs.ufs.dirhash_mem: 4612984
created 640000: 35 sec, 18285 files/sec, vfs.ufs.dirhash_mem: 4612984
created 660000: 36 sec, 18333 files/sec, vfs.ufs.dirhash_mem: 4612984
created 680000: 37 sec, 18378 files/sec, vfs.ufs.dirhash_mem: 4612984
created 700000: 38 sec, 18421 files/sec, vfs.ufs.dirhash_mem: 4612984
created 720000: 48 sec, 15000 files/sec, vfs.ufs.dirhash_mem: 6704769
created 740000: 49 sec, 15102 files/sec, vfs.ufs.dirhash_mem: 6704769
created 760000: 50 sec, 15200 files/sec, vfs.ufs.dirhash_mem: 6704769
created 780000: 51 sec, 15294 files/sec, vfs.ufs.dirhash_mem: 6704769
created 800000: 51 sec, 15686 files/sec, vfs.ufs.dirhash_mem: 6704769
created 820000: 52 sec, 15769 files/sec, vfs.ufs.dirhash_mem: 6704769
created 840000: 53 sec, 15849 files/sec, vfs.ufs.dirhash_mem: 6704769
created 860000: 54 sec, 15925 files/sec, vfs.ufs.dirhash_mem: 6704769
created 880000: 55 sec, 16000 files/sec, vfs.ufs.dirhash_mem: 6704769
created 900000: 56 sec, 16071 files/sec, vfs.ufs.dirhash_mem: 6704769
created 920000: 56 sec, 16428 files/sec, vfs.ufs.dirhash_mem: 6704769
created 940000: 57 sec, 16491 files/sec, vfs.ufs.dirhash_mem: 6704769
created 960000: 58 sec, 16551 files/sec, vfs.ufs.dirhash_mem: 6704769
created 980000: 60 sec, 16333 files/sec, vfs.ufs.dirhash_mem: 6704769
created 1000000: 61 sec, 16393 files/sec, vfs.ufs.dirhash_mem: 6704769
removing...removed: 38 sec, 26315 files/sec



WBR
-- 
Boris Samorodov (bsam)
Research Engineer, http://www.ipt.ru Telephone & Internet SP
FreeBSD committer, http://www.FreeBSD.org The Power To Serve
--- ifmail v.2.15dev5.3
 * Origin: Demos online service (2:5020/400)
SEEN-BY: 50/12 400/814 450/159 1024 461/43 132 640 469/999 4616/3 4625/8
SEEN-BY: 4641/444 5000/76 5000 5006/1 5007/1 5010/70 5011/13 5012/46 5015/28
SEEN-BY: 5019/26 5020/18 175 194 400 545 982 1057 1909 1922 2238 2395 2871
SEEN-BY: 5020/4441 5021/29 5025/3 5026/14 45 5027/12 5030/1080 1957 5034/10 13
SEEN-BY: 5035/38 5036/1 5045/7 5049/1 5051/15 5054/1 4 8 9 11 28 35 36 37 45
SEEN-BY: 5054/66 67 70 75 84 85 5059/9 5060/88 5061/15 5062/10 5063/3 5064/7
SEEN-BY: 5066/18 5075/5 5076/1 5077/70 5084/9 5085/13 5095/20 5096/18 6001/10
PATH: 5020/400 545 5054/1 37