Тестирование быстродействия файловых систем.
-
Igor_I
Re: Тестирование быстродействия файловых систем.
ruslandh
Так не со всеми параметрами сразу.
Вот у тебя лично, как смонтированны разделы?
Так не со всеми параметрами сразу.
Вот у тебя лично, как смонтированны разделы?
-
ruslandh
Re: Тестирование быстродействия файловых систем.
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
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
-
Igor_I
Re: Тестирование быстродействия файловых систем.
Вопрос, как можно нагрузить диск на чтение, если создается 20 директорий по 200 файлов.
Если все - много, да и последовательное чтение быстрее проходит, чем случайное.
Если все - много, да и последовательное чтение быстрее проходит, чем случайное.
-
ruslandh
Re: Тестирование быстродействия файловых систем.
Обрати внимание на
apt-cache search Bonnie++
bonnie++ - Программа для определения скорости работы жестких дисков и файловых систем
bonnie - Unix filesystem performance benchmark
apt-cache search Bonnie++
bonnie++ - Программа для определения скорости работы жестких дисков и файловых систем
bonnie - Unix filesystem performance benchmark
http://www.rpmfind.net/linux/rpm2htm...p?query=bonnie
-
Igor_I
Re: Тестирование быстродействия файловых систем.
это наверно синтетика
хотя у меня тоже надуманный тест, но все же, потом посмотрим
из чего состоит тест
создание 20 директорий, в каждой директории по 200 файлов одного размера
размер файлов от 2 до 1024 кб
чтение - тут еще не определился, есть подозрение что system в Perl медленный, только как проверить.
хотя у меня тоже надуманный тест, но все же, потом посмотрим
из чего состоит тест
создание 20 директорий, в каждой директории по 200 файлов одного размера
размер файлов от 2 до 1024 кб
чтение - тут еще не определился, есть подозрение что system в Perl медленный, только как проверить.
-
Igor_I
Re: Тестирование быстродействия файловых систем.
вот результат некоторой работы. критика приветствуется
PHP код:
вот и образец отчета
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 -a -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 > /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 -x -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 > $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 > $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 -d -u 3
# прекращение команд iostat
killall -c iostat &
# вычисление общей продолжительности работы скрипта
set end=`date +%s`
set duration=`expr $end - $start`
echo " Duration =" $duration >> $filelog
вот и образец отчета
- Вложения
-
ruslandh
Re: Тестирование быстродействия файловых систем.
Цитата:
# определение слайса
set slice=ad4s1a
set mount="/mnt/ad41"
set start = `date +%s`
Получился FreeBSD специфичный скрипт, по-хорошему надо вначале определить OS
# определение слайса
set slice=ad4s1a
set mount="/mnt/ad41"
set start = `date +%s`
Получился FreeBSD специфичный скрипт, по-хорошему надо вначале определить OS
-
Igor_I
Re: Тестирование быстродействия файловых систем.
Цитата:
Получился FreeBSD специфичный скрипт, по-хорошему надо вначале определить OS
Это выше моей квалификации
И потом вывод команд разве одинаковый?
iostat -x -d ad4 -I 2
iostat -d ad4 -I 2
time - это внутреняя команда tcsh
Получился FreeBSD специфичный скрипт, по-хорошему надо вначале определить OS
Это выше моей квалификации

И потом вывод команд разве одинаковый?
iostat -x -d ad4 -I 2
iostat -d ad4 -I 2
time - это внутреняя команда tcsh
-
mar