Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Новости и флейм из мира *nix » Тестирование быстродействия файловых систем.

Ответить
Настройки темы
Тестирование быстродействия файловых систем.

Ветеран


Сообщения: 1862
Благодарности: 132


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Есть статья сравнивающая быстродействие файловых систем 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
В итоге получили вот что
Цитата:
понедельник, 19 февраля 2007 г. 00:02:46 (MSK)
Test copy bigfile - 703 Mb
50
понедельник, 19 февраля 2007 г. 00:03:36 (MSK)
понедельник, 19 февраля 2007 г. 00:03:36 (MSK)
Test clear bigfile - 703 Mb
0
понедельник, 19 февраля 2007 г. 00:03:36 (MSK)
понедельник, 19 февраля 2007 г. 00:03:36 (MSK)
Test untar file - 89.471 file
124
понедельник, 19 февраля 2007 г. 00:05:40 (MSK)
понедельник, 19 февраля 2007 г. 00:05:40 (MSK)
Test copy smalldir - 89.471 file=174.115.356 byte
236
понедельник, 19 февраля 2007 г. 00:09:36 (MSK)
понедельник, 19 февраля 2007 г. 00:09:36 (MSK)
Test clear smalldir - 89.471 file=174.115.356 byte
72
понедельник, 19 февраля 2007 г. 00:10:48 (MSK)
понедельник, 19 февраля 2007 г. 00:10:48 (MSK)
Test copy bigdir - 1.707 file=1.018.867.378 byte
88
понедельник, 19 февраля 2007 г. 00:12:16 (MSK)
понедельник, 19 февраля 2007 г. 00:12:16 (MSK)
Test clear bigdir - 1.707 file=1.018.867.378 byte
1
понедельник, 19 февраля 2007 г. 00:12:17 (MSK)
Может еще кто поделиться своими тестами. Нету у меня ничего больше, кроме как UFS2.
И вот еще, что меня интересует. Чем может ограничиватся быстродействие компьютера, кроме как процессором и скоростью диска, измеряемой в мегабайтах.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 00:17, 19-02-2007

 

Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


ruslandh
Так не со всеми параметрами сразу.
Вот у тебя лично, как смонтированны разделы?

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 10:57, 04-03-2007 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для ruslandh

info man howto


Сообщения: 6958
Благодарности: 384

Профиль | Сайт | Отправить PM | Цитировать


UUID=c845af3e-51ed-4b08-b342-f91fa348609c / ext3 defaults 1 1
UUID=7a485083-3512-47f9-ba61-f75122a8c2bb /boot ext3 defaults 1 2
UUID=a1bacb74-b1eb-4da8-88ba-bfb1fe63f613 /home ext3 defaults 1 2
/dev/sda2 /mnt/win_c1 vfat iocharset=cp1251,quiet,codepage=866,umask=0 0 0
/dev/sda3 /mnt/win_c2 vfat iocharset=cp1251,quiet,codepage=866,umask=0 0 0
/dev/sda5 /mnt/win_d vfat iocharset=cp1251,quiet,codepage=866,umask=0 0 0
/dev/sda6 /mnt/win_e vfat iocharset=cp1251,quiet,codepage=866,umask=0 0 0
/dev/sda7 /mnt/win_f vfat iocharset=cp1251,quiet,codepage=866,umask=0 0 0
/dev/sda9 /mnt/win_g vfat iocharset=cp1251,quiet,codepage=866,umask=0 0 0
/dev/sdb5 /mnt/win_h ntfs defaults,quiet,umask=0,nls=cp1251 0 0

UUID=6d77db04-154b-442b-be08-336f0952c1a1 swap swap defaults 0 0
UUID=2acf0afc-14f4-42f6-a222-4f492b2e4e4b /arhiv ext3 defaults 1
UUID=b34fdc30-ded1-45b2-80fd-8c197b40cbf9 /mnt/arhiv ext3 defaults 0

-------
Поспешай не торопясь


Отправлено: 11:27, 04-03-2007 | #22


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


спасибо

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 11:58, 04-03-2007 | #23


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


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

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 20:30, 04-03-2007 | #24


Аватара для ruslandh

info man howto


Сообщения: 6958
Благодарности: 384

Профиль | Сайт | Отправить PM | Цитировать


Обрати внимание на
apt-cache search Bonnie++
bonnie++ - Программа для определения скорости работы жестких дисков и файловых систем
bonnie - Unix filesystem performance benchmark

http://www.rpmfind.net/linux/rpm2htm...p?query=bonnie

-------
Поспешай не торопясь


Отправлено: 09:28, 05-03-2007 | #25


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


это наверно синтетика
хотя у меня тоже надуманный тест, но все же, потом посмотрим
из чего состоит тест
создание 20 директорий, в каждой директории по 200 файлов одного размера
размер файлов от 2 до 1024 кб
чтение - тут еще не определился, есть подозрение что system в Perl медленный, только как проверить.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 23:06, 07-03-2007 | #26


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Вложения
Тип файла: rar log.2007.03.08-23.07.46.rar
(9.3 Kb, 2 просмотров)

вот результат некоторой работы. критика приветствуется

PHP код: Выделить весь код

#!/bin/tcsh


# определение лог-файлов
mkdir 0777 /tmp/test/log
set filesuffix
=`date "+%Y.%m.%d-%H.%M.%S"`
set iostatlog="/tmp/test/log/log.$filesuffix.iostat.log"
set filelog="/tmp/test/log/log.$filesuffix.mkdir.log"
set tablelog="/tmp/test/log/log.$filesuffix.table.log"
# определение слайса
set slice=ad4s1a
set mount
="/mnt/ad41"
set start = `date +%s

echo 
"#######################################################" >> $filelog
date 
>> $filelog 

# создание виртуального диска 8 мб
mdconfig --t malloc -s 8m -u 3 > /dev/null
newfs 
/dev/md3 > /dev/null
mount 
/dev/md3 /mnt/test

# создание на виртуальном диске временных файлов для теста
set i=2
set e
=1025
while ( $i $e )
    
dd if=/dev/zero of=/mnt/test/original-$i bs=1024 count=$i >> /dev/null
    set i
=`expr $i \* 2`
end

# на всякий случай и на случай преждевременного прекращения работы скрипта
killall -c iostat &

### размер блока может быть равен = 2048, 4096,8192,16384
# установка параметров будущей фалйовой системы и создание файловой системы
set newfsparam="-b 16384"
newfs $newfsparam /dev/ad4s1a
echo "newfs $newfsparam" >> $filelog
# установка параметров монтирования файловой системы и её монтирование
set mountparam=""
mount $mountparam /dev/ad4s1a $mount
echo "mount $mountparam" >> $filelog

# создание подопытной директории
mkdir $mount/test 

# вывод конфигурации получившийся файловой системы
bsdlabel /dev/ad4s1 >> $filelog 

# запуск вывода расширенной отладочной информации
echo "#######################################################" >> $iostatlog
date 
>> $iostatlog
echo "iostat ad4" >> $filelog 
iostat 
--d ad4 -I 2  >> $iostatlog &

# вычисление размера в начале опыта
echo "size start"  >> $filelog
du 
-chs $mount >> $filelog 

echo " "  >> $filelog 
echo "mkdir"  >> $filelog 

# запуск вывода отладочной информации
iostat -d ad4 -I 2  >> $iostatlog &

# цикл формирующий директории с файлами
set i=2
set e
=1025
set startdir 
= `date +%s`
while ( 
$i $e )
    echo 
"====================== mkdir $i =======================" >> $iostatlog
    set startd 
= `date +%s`
    
    
set mkdirtime=`time /tmp/mkdir $mount $i`
    echo 
$mkdirtime >> $filelog

#    du -chs $mount >> $filelog     
    
set endd=`date +%s`
    
set durationd=`expr $endd - $startd`
    
    echo 
" Duration mkdir $i = " $durationd >> $filelog 
    
echo "====================== mkdir $i =======================" >> $iostatlog
    
echo "$i,$durationd" >> $tablelog
    
    set i
=`expr $i \* 2`
end

# вычисление общего времени затраченного на создание директорий
set enddir=`date +%s`
set durationdir=`expr $enddir - $startdir`
echo 
" Duration all mkdir=" $durationdir >> $filelog 

# подсчет получившегося размера после опыта
echo " "  >> $filelog 
echo "size end"  >> $filelog 
du 
-chs $mount >> $filelog 

echo " "  >> $filelog 
echo "copy"  >> $filelog 

# цикл копирующий получившиеся директорий с файлами на виртуальный диск
set i=2
set e
=1025
set startcopy 
= `date +%s`
while ( 
$i $e )
    echo 
"====================== copy  $i =======================" >> $iostatlog
    set startcopy 
= `date +%s`
    
    
set copytime=`time /tmp/copy $mount $i >> $filelog`
    echo 
$copytime >> $filelog
    
    set endcopy
=`date +%s`
    
set durationcopy=`expr $endcopy - $startcopy`
    
    echo 
" Duration copy $i =" $durationcopy >> $filelog 
    
echo "====================== copy  $i =======================" >> $iostatlog
    
echo "$i,$durationcopy" >> $tablelog
    set i
=`expr $i \* 2`
end

# вычисление общего времени затраченного на копирование
set endcopy=`date +%s`
set durationcopy=`expr $endcopy - $startcopy`
echo 
" Duration all copy =" $durationcopy >> $filelog 

# удаление всех файлов после опыта
echo " "  >> $filelog 
echo "rm -r " >> $filelog 
echo "====================== rm -r =======================" >> $iostatlog
set rmtime
=`time rm -r $mount/test >> $filelog`
echo 
$rmtime >> $filelog
echo "====================== rm -r =======================" >> $iostatlog

# размонтирование подопытной файловой системы
echo "umount " >> $filelog 
set unmounttime
=`time umount $mount >> $filelog`
echo 
$unmounttime >> $filelog

# размонтирование виртуального диска и его удаление 
umount /mnt/test
mdconfig 
--u 3

# прекращение команд iostat
killall -c iostat &

# вычисление общей продолжительности работы скрипта
set end=`date +%s`
set duration=`expr $end - $start`
echo 
" Duration =" $duration >> $filelog 

вот и образец отчета

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Последний раз редактировалось Igor_I, 08-03-2007 в 23:22.


Отправлено: 23:11, 08-03-2007 | #27


Аватара для ruslandh

info man howto


Сообщения: 6958
Благодарности: 384

Профиль | Сайт | Отправить PM | Цитировать


Цитата:
# определение слайса
set slice=ad4s1a
set mount="/mnt/ad41"
set start = `date +%s`
Получился FreeBSD специфичный скрипт, по-хорошему надо вначале определить OS

-------
Поспешай не торопясь


Отправлено: 08:09, 09-03-2007 | #28


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Цитата:
Получился FreeBSD специфичный скрипт, по-хорошему надо вначале определить OS
Это выше моей квалификации
И потом вывод команд разве одинаковый?
iostat -x -d ad4 -I 2
iostat -d ad4 -I 2
time - это внутреняя команда tcsh

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 20:50, 09-03-2007 | #29

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Цитата:
Это выше моей квалификации
это uname -то ?

Отправлено: 21:39, 09-03-2007 | #30



Компьютерный форум OSzone.net » Linux и FreeBSD » Новости и флейм из мира *nix » Тестирование быстродействия файловых систем.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход