|
Компьютерный форум OSzone.net » Linux и FreeBSD » Новости и флейм из мира *nix » Тестирование быстродействия файловых систем. |
|
Тестирование быстродействия файловых систем.
|
Ветеран Сообщения: 1862 |
Есть статья сравнивающая быстродействие файловых систем http://www.posix.ru/system/test_free_vs_linux/ написана в 2004 году. Но ведь все течет, все изменяется. Какова ситуация сейчас?
Сваял скриптик. За ошибки - извиняйте ![]() #!/bin/sh bigfile=/tmp/Lynda.com.3ds.Max.9.Essential.Training-MOJO.rar newbigfile=/var/tmp/test.file date >> /tmp/testfs.log echo Test copy bigfile - 703 Mb echo Test copy bigfile - 703 Mb >> /tmp/testfs.log start=`date +%s` cp $bigfile $newbigfile && end=`date +%s` timetest=`expr $end - $start` echo $timetest >> /tmp/testfs.log date >> /tmp/testfs.log date >> /tmp/testfs.log echo Test clear bigfile - 703 Mb echo Test clear bigfile - 703 Mb >> /tmp/testfs.log start=`date +%s` rm -Rf $newbigfile && end=`date +%s` timetest=`expr $end - $start` echo $timetest >> /tmp/testfs.log date >> /tmp/testfs.log date >> /tmp/testfs.log echo Test untar file - 89.471 file echo Test untar file - 89.471 file >> /tmp/testfs.log start=`date +%s` tar xzf /tmp/ports.tar.gz && end=`date +%s` timetest=`expr $end - $start` echo $timetest >> /tmp/testfs.log date >> /tmp/testfs.log dirsm=/tmp/ports newdirsm=/var/tmp/ports date >> /tmp/testfs.log echo Test copy smalldir - 89.471 file=174.115.356 byte echo Test copy smalldir - 89.471 file=174.115.356 byte >> /tmp/testfs.log start=`date +%s` cp -fR $dirsm $newdirsm && end=`date +%s` timetest=`expr $end - $start` echo $timetest >> /tmp/testfs.log date >> /tmp/testfs.log date >> /tmp/testfs.log echo Test clear smalldir - 89.471 file=174.115.356 byte echo Test clear smalldir - 89.471 file=174.115.356 byte >> /tmp/testfs.log start=`date +%s` rm -Rf $newdirsm && end=`date +%s` timetest=`expr $end - $start` echo $timetest >> /tmp/testfs.log date >> /tmp/testfs.log dirbig=/tmp/software newdirbig=/var/tmp/software date >> /tmp/testfs.log echo Test copy bigdir - 1.707 file=1.018.867.378 byte echo Test copy bigdir - 1.707 file=1.018.867.378 byte >> /tmp/testfs.log start=`date +%s` cp -fR $dirbig $newdirbig && end=`date +%s` timetest=`expr $end - $start` echo $timetest >> /tmp/testfs.log date >> /tmp/testfs.log date >> /tmp/testfs.log echo Test clear bigdir - 1.707 file=1.018.867.378 byte echo Test clear bigdir - 1.707 file=1.018.867.378 byte >> /tmp/testfs.log start=`date +%s` rm -Rf $newdirbig && end=`date +%s` timetest=`expr $end - $start` echo $timetest >> /tmp/testfs.log date >> /tmp/testfs.log Цитата:
И вот еще, что меня интересует. Чем может ограничиватся быстродействие компьютера, кроме как процессором и скоростью диска, измеряемой в мегабайтах. |
||
------- Отправлено: 00:17, 19-02-2007 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать Hardware
COMPUTER: Самосбор CPU: Thorton 2200+ (1500МГц) (machdep.tsc_freq: 1.503.416.373) RAM: 512MB SWAP: 800MB CONTROLLER: nForce2 DRIVES USED: 1] Samsung 1203N ATA/133 2MB CACHE 7200RPM OS: FreeBSD 6.2-STABLE |
------- Отправлено: 00:40, 23-02-2007 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать Тестирование быстродействия
Объяснение команды time (это внутренняя команда tcsh) `%Uu %Ss %E %P %X+%Dk %I+%Oio %Fpf+%Ww' %U The time the process spent in user mode in cpu seconds. %S The time the process spent in kernel mode in cpu seconds. %E The elapsed (wall clock) time in seconds. %P The CPU percentage computed as (%U + %S) / %E. %X The average amount in (shared) text space used in Kbytes. %D The average amount in (unshared) data/stack space used in Kbytes. %I The number of input operations. %O The number of output operations. %F The number of major page faults (page needed to be brought from disk). %W Number of times the process was swapped. 001-1 Вначале протестируем скорость выполнения скрипта командным интерпретатором. Простой цикл изменяющий значение от 10000 до 20000. Скрипт исполняющий:
Скрипт запускающий: Запускаем: time /tmp/test10000 Результат: 1) 7.179u 24.393s 0:37.95 83.1% 56+185k 0+0io 0pf+0w 4) 7.586u 23.898s 0:34.77 90.5% 54+184k 0+0io 0pf+0w 5) 7.348u 24.172s 0:34.81 90.5% 54+185k 0+0io 0pf+0w Запускаем: /tmp/testfs Результат: 2) 7.202u 24.354s 0:34.88 90.4% 55+184k 0+0io 0pf+0w 3) 7.270u 24.384s 0:34.95 90.5% 56+185k 0+0io 0pf+0w 6) 7.330u 24.240s 0:36.15 87.3% 55+183k 0+0io 0pf+0w 001-2 Добавляем команду есно, выводящую значение переменной на экран.
Запускаем: time /tmp/test10000 Результат: 1) 7.893u 25.120s 0:39.75 83.0% 57+187k 0+0io 0pf+0w 3) 7.448u 25.555s 0:41.01 80.4% 57+186k 0+0io 0pf+0w 5) 7.710u 25.326s 0:42.94 76.9% 60+188k 0+0io 0pf+0w Запускаем: /tmp/testfs Результат: 2) 7.340u 24.591s 0:36.84 86.6% 56+187k 0+0io 0pf+0w 4) 7.652u 24.271s 0:36.84 86.6% 56+187k 0+0io 0pf+0w 6) 7.402u 24.504s 0:36.83 86.6% 56+186k 0+0io 0pf+0w 001-3 Просто создание файла нулевой длины
Запускаем: time /tmp/test10000 Результат: 1) 12.111u 43.326s 1:04.79 85.5% 54+180k 157+0io 0pf+0w 3) 12.007u 43.196s 1:05.69 84.0% 56+182k 158+0io 0pf+0w 5) 12.030u 43.177s 1:02.33 88.5% 55+182k 0+0io 0pf+0w Запускаем: /tmp/testfs Результат: 2) 12.405u 42.744s 1:02.26 88.5% 54+181k 9+0io 0pf+0w 4) 12.402u 42.678s 1:02.07 88.7% 54+182k 0+0io 0pf+0w 6) 12.049u 42.993s 1:03.47 86.7% 55+182k 0+0io 0pf+0w 001-4 Запись некоторого текста в файл, если его не существует - он создается.
Запускаем: time /tmp/test10000 Результат: 1) 14.642u 48.725s 1:12.49 87.4% 55+184k 0+0io 0pf+0w 3) 14.953u 48.294s 1:13.42 86.1% 55+183k 0+0io 0pf+0w 5) 14.465u 48.775s 1:12.24 87.5% 54+184k 0+0io 0pf+0w Запускаем: /tmp/testfs Результат: 2) 14.954u 48.323s 1:15.24 84.0% 55+184k 0+0io 0pf+0w 4) 14.932u 48.448s 1:12.51 87.3% 55+184k 0+0io 0pf+0w 6) 14.736u 48.387s 1:12.24 87.3% 55+184k 0+0io 0pf+0w 001-4 Запись два раза некоторого текста в файл, если его не существует - он создается.
Запускаем: time /tmp/test10000 Результат: 1) 21.137u 68.812s 1:42.95 87.3% 58+184k 0+0io 2pf+0w 3) 21.057u 68.592s 1:43.86 86.3% 56+184k 0+0io 0pf+0w 5) 21.176u 68.506s 1:41.04 88.7% 56+183k 0+0io 0pf+0w Запускаем: /tmp/testfs Результат: 2) 20.695u 68.710s 1:42.00 87.6% 56+184k 0+0io 0pf+0w 4) 21.164u 68.392s 1:40.73 88.9% 57+184k 0+0io 0pf+0w 6) 20.559u 69.249s 1:42.35 87.7% 57+184k 0+0io 0pf+0w 001-5 Сначала создаем файл, потом в него пишем информацию.
Запускаем: time /tmp/test10000 Результат: 1) 25.683u 86.701s 2:08.34 87.5% 56+183k 0+0io 0pf+0w 3) 25.445u 87.655s 2:08.24 88.1% 57+183k 0+0io 0pf+0w 5) 25.141u 87.789s 2:09.79 87.0% 56+183k 0+0io 0pf+0w Запускаем: /tmp/testfs Результат: 2) 25.946u 86.947s 2:09.46 87.1% 56+183k 0+0io 0pf+0w 4) 25.513u 87.211s 2:08.09 88.0% 57+183k 0+0io 0pf+0w 6) 25.594u 87.748s 2:10.48 86.8% 57+183k 0+0io 0pf+0w Отлично? Отлично! А теперь Perl ![]() Простой цикл.
0.000u 0.010s 0:00.01 100.0% 0+0k 0+0io 0pf+0w Цикл выводящий информацию на экран
0.044u 0.011s 0:00.43 11.6% 8+268k 0+0io 0pf+0w Цикл записывающий в файл
0.440u 0.970s 0:02.47 57.0% 10+359k 0+1io 0pf+0w Цикл записывающий в файл два раза.
0.838u 1.732s 0:03.79 67.5% 10+343k 0+0io 0pf+0w |
------- Последний раз редактировалось Igor_I, 23-02-2007 в 14:02. Отправлено: 13:57, 23-02-2007 | #12 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать Слово reboot в скобках означает попытку сделанную сразу после перезагрузки.
002-1 Поиск файла /tmp/find 0.006u 0.072s 0:00.09 77.7% 72+2495k 0+0io 0pf+0w 0.028u 0.038s 0:00.06 83.3% 50+2300k 0+0io 0pf+0w (reboot) Поиск строки в файле 002-2 /tmp/findstring 0.016u 0.066s 0:00.08 87.5% 56+1920k 0+0io 0pf+0w -------------------------------------------------------------------------- 003-1 Удаление файлов # time rm -r /tmp/test/test1 0.014u 0.237s 0:00.26 92.3% 17+3187k 0+0io 0pf+0w 0.039u 0.180s 0:00.23 91.3% 16+3093k 1+0io 0pf+0w (reboot) |
------- Отправлено: 11:43, 24-02-2007 | #13 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать 004-1
Создание 10.000 директорий /tmp/mkdir
12.307u 42.858s 1:03.41 86.9% 53+183k 150+8io 0pf+0w 11.556u 40.468s 0:56.87 91.4% 54+181k 160+10io 0pf+0w (reboot) Создание 10.000 директорий /tmp/perlmkdir
0.037u 0.687s 0:03.13 22.6% 10+364k 23+140io 0pf+0w Создание 100.000 директорий 0.375u 3.428s 0:24.80 15.2% 10+336k 108+11505io 0pf+0w Вот здесь то и работает диск на всю. А процессор простаивает. ------------------------------------------- 005 Поиск директории # time /tmp/find 0.072u 0.493s 0:00.59 94.9% 45+1685k 0+0io 0pf+0w (????) # time find /tmp/test/test1 -name 19950 -print 0.096u 0.792s 0:55.92 1.5% 49+1882k 10000+0io 0pf+0w (первый запуск после reboot) # time find /tmp/test/test1 -name 19650 -print 0.083u 0.464s 0:00.61 88.5% 48+1800k 10+0io 0pf+0w (второй запуск, спустя минуту) ------------------------------------- 006 Удаление директорий # time rm -r /tmp/test/test1 0.347u 9.961s 0:16.26 63.3% 14+3289k 6702+0io 0pf+0w 0.130u 1.450s 0:56.98 2.7% 15+3397k 10000+0io 0pf+0w (reboot) |
------- Отправлено: 11:56, 24-02-2007 | #14 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать 009
Распаковка архива на этот же диск # time tar xzf /tmp/ports.tar.gz 4.737u 12.657s 1:41.15 17.1% 59+427k 24842+303io 0pf+0w 4.987u 16.189s 1:46.95 19.7% 60+2034k 13907+629io 0pf+0w (reboot) ----------------- Создание архива # time tar -czf ports2.tar.gz /tmp/ports 26.322u 11.424s 3:26.16 18.3% 59+661k 117542+284io 7pf+0w 25.188u 9.738s 1:34.12 37.0% 60+683k 113663+284io 2pf+0w (reboot) (перепроверить) --------------------- 011 Удаление распакованного архива # time rm -r /tmp/ports 0.485u 5.302s 0:45.61 12.6% 14+439k 15221+9io 0pf+0w 0.468u 5.150s 0:41.57 13.4% 15+452k 12698+12io 0pf+0w (reboot) ------------------------- |
------- Отправлено: 13:05, 24-02-2007 | #15 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать 013
Создание 1 Gb файла из /dev/zero # time dd if=/dev/zero of=/tmp/test/test1gb bs=1024 count=1024024 1048600576 bytes transferred in 24.572345 secs (42674013 bytes/sec) 0.231u 11.386s 0:24.70 47.0% 25+185k 15+8006io 0pf+0w 1048600576 bytes transferred in 24.291338 secs (43167675 bytes/sec) 0.341u 11.259s 0:24.31 47.6% 25+190k 17+8002io 0pf+0w (reboot) Model Family: Seagate Barracuda 7200.8 family Device Model: ST3250823A Serial Number: 5ND26VCP Firmware Version: 3.06 User Capacity: 250 059 350 016 bytes ATA Version is: 7 1048600576 bytes transferred in 20.434582 secs (51315000 bytes/sec) 0.483u 11.367s 0:20.45 57.8% 25+189k 24+8000io 0pf+0w ------------------ 014 Копирование 1 Гб файла на другой диск (ad0 > ad3) # time cp /tmp/test/test1gb /mnt/Umor/test 0.062u 9.185s 0:29.41 31.4% 20+272k 8067+8000io 1pf+0w 0.055u 8.629s 0:27.91 31.0% 20+268k 8074+8000io 0pf+0w (reboot) ---------------- 017 Копирование 1 Гб файла в /dev/null # time cp /tmp/test/test1gb /dev/null 0.024u 3.711s 0:25.27 14.7% 20+269k 8034+0io 0pf+0w # time cat /tmp/test/test1gb > /dev/null 0.047u 3.748s 0:25.05 15.0% 10+189k 8040+0io 0pf+0w 0.033u 3.682s 0:24.99 14.8% 9+179k 8040+0io 0pf+0w (reboot) Model Family: Seagate Barracuda 7200.8 family Device Model: ST3250823A Serial Number: 5ND26VCP Firmware Version: 3.06 User Capacity: 250 059 350 016 bytes ATA Version is: 7 0.046u 3.658s 0:20.36 18.1% 10+194k 8051+0io 0pf+0w |
------- Последний раз редактировалось Igor_I, 24-02-2007 в 13:45. Отправлено: 13:34, 24-02-2007 | #16 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать 015
Разбиение 10 Мб файла на части по 1000/1024/2048/4096/8192 байт # time split -a 6 -b 1000 /tmp/test/test10mb 0.032u 1.006s 0:02.35 43.8% 10+275k 0+1io 0pf+0w # time split -a 6 -b 1024 /tmp/test/test10mb 0.033u 0.954s 0:02.16 45.3% 9+264k 1+18io 0pf+0w # time split -a 6 -b 2048 /tmp/test/test10mb 0.016u 0.482s 0:01.00 49.0% 9+268k 0+8io 0pf+0w # time split -a 6 -b 4096 /tmp/test/test10mb 0.000u 0.271s 0:00.44 61.3% 10+285k 0+8io 0pf+0w # time split -a 6 -b 8192 /tmp/test/test10mb 0.000u 0.155s 0:00.36 41.6% 10+278k 0+9io 0pf+0w Ну вот и что мы померяли? Не знаю. В одном случае - быстродействие шелла, в другом - скорость винчестера. А где же быстродействие файловой системы? Если только при работе с архивами. Да поиск. Продолжение следует .... |
------- Отправлено: 13:50, 24-02-2007 | #17 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать В качестве продолжения взят другой винчестер
=== START OF INFORMATION SECTION === Model Family: Western Digital Caviar SE family Device Model: WDC WD2500JB-00GVC0 Serial Number: WD-WCAL76603272 Firmware Version: 08.02D08 User Capacity: 250 059 350 016 bytes ATA Version is: 6 ATA Standard is: Exact ATA specification draft version not indicated ******* Working on device /dev/ad4 ******* parameters extracted from in-core disklabel are: cylinders=7752336 heads=1 sectors/track=63 (63 blks/cyl) Figures below won't work with BIOS for partitions not in cyl 1 parameters to be used for BIOS calculations are: cylinders=7752336 heads=1 sectors/track=63 (63 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) start 63, size 20972385 (10240 Meg), flag 80 (active) beg: cyl 1/ head 0/ sector 1; end: cyl 95/ head 0/ sector 63 The data for partition 2 is: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) start 20972448, size 446274864 (217907 Meg), flag 0 beg: cyl 96/ head 0/ sector 1; end: cyl 815/ head 0/ sector 63 The data for partition 3 is: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) start 467247312, size 21149856 (10327 Meg), flag 0 beg: cyl 816/ head 0/ sector 1; end: cyl 655/ head 0/ sector 63 то есть разбит на 10(ad4s1a)+217(ad4s2a)+10(ad4s3a) 1) скорость на запись time dd if=/dev/zero of=/mnt/ad41/test/file bs=16384 count=65000 1064960000 bytes transferred in 18.790220 secs (56676292 bytes/sec) 0.031u 4.332s 0:18.81 23.1% 25+228k 23+8160io 0pf+0w time dd if=/dev/zero of=/mnt/ad42/test/file bs=16384 count=65000 1064960000 bytes transferred in 19.721640 secs (53999566 bytes/sec) 0.039u 4.649s 0:19.74 23.6% 25+226k 35+8160io 0pf+0w time dd if=/dev/zero of=/mnt/ad43/test/file bs=16384 count=65000 1064960000 bytes transferred in 31.197468 secs (34136104 bytes/sec) 0.066u 4.589s 0:31.25 14.8% 27+245k 36+8165io 0pf+0w тут еще за бортом остаются такие параметры как "килобайт на транзакцию" и "количество транзакций в секунду". Тоже весьма любопытный параметр |
------- Отправлено: 22:12, 28-02-2007 | #18 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать Примерно с какими параметрами надо монтировать разделы в Линуксе - ext3, reiserFS
Может подскажете. |
------- Отправлено: 01:04, 04-03-2007 | #19 |
info man howto Сообщения: 6958
|
Профиль | Сайт | Отправить PM | Цитировать Igor_I
1 Напишите-к Вы статью на Wiki - будет какая-то польза остальным ![]() 2 вопрос задан некорректно ![]() Не понятно что значит надо - параметры могут быть любыми ![]() man mount man fstab |
------- Отправлено: 08:28, 04-03-2007 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] изменение параметров быстродействия в cmd | alexandri | Скриптовые языки администрирования Windows | 7 | 14-01-2010 19:48 | |
Debian/Ubuntu - О файловых системах | __sa__nya | Общий по Linux | 8 | 21-07-2008 16:20 | |
FTP/File - [решено] Несколько вопросов о файловых серверах,о WiFi e.t.c. | BROTHERHOOD | Хочу все знать | 18 | 23-05-2008 01:57 | |
Монтирование файловых систем | chuvaki | Общий по Linux | 9 | 20-02-2004 22:34 | |
Настройка быстродействия системы | Kasper | Хочу все знать | 2 | 10-12-2003 20:07 |
|