Скорость работы UFS

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
AleZ
рядовой
Сообщения: 44
Зарегистрирован: 2017-03-23 17:24:07

Скорость работы UFS

Непрочитанное сообщение AleZ » 2017-03-27 22:01:26

Не совсем потоков, запускается 165 копий одного скрипта на питоне, и да, в 0 минут одновременно удаляется 165 файлов.
А даже если и потоков, есть какие-то более продвинутые методы?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

Скорость работы UFS

Непрочитанное сообщение Neus » 2017-03-28 0:09:47

Alex Keda писал(а):
Там как я понял одновременно делается рестарт всем 165-и записям, софт видит что записанных файлов не хватает, поэтому ничего не удаляет, вроде как-то порешалось, наблюдаю пока
Я правильно понял, что пишется параллельно в 165 потоков?!
Убить софтописателей....

Удаляется, поди, также....
165 это фигня
450 потоков :)
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Скорость работы UFS

Непрочитанное сообщение Alex Keda » 2017-03-28 8:25:29

Писать-то по разному можно.
Можно куски по мегабайту скидывать, а можно по 4к частить
Убей их всех! Бог потом рассортирует...

guest
проходил мимо

Скорость работы UFS

Непрочитанное сообщение guest » 2017-03-28 9:51:45

AleZ писал(а):Не совсем потоков, запускается 165 копий одного скрипта на питоне, и да, в 0 минут одновременно удаляется 165 файлов.
А даже если и потоков, есть какие-то более продвинутые методы?
методы чего? никто ж не знает как и что пишется...

посему советы только в плане железа, как-то:

- правильный контроллер или несколько контроллеров
- правильные диски или ssd

остальное нужно считать, пропускная способность шины, скорость дисков ...

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

Скорость работы UFS

Непрочитанное сообщение Neus » 2017-03-28 10:03:04

undefined писал(а): И еще раз, скорость записи, на обычной локальной FS - оптимизировать нельзя, а вот чтение - можно,
- это zil и l2arc в случае zfs
ну шо вы такое говорите, коллега
zil никоим образом не может оптимизировать чтение, т.к. это "write only log"
он как раз может оптимизировать запись, но только "sync random write"
при последовательной записи от него толку ноль, т.к. даже raizdz2 (4+2) выдает сравнимую скорость записи (~500 мб/с) на LSI HBA 2008 + WD Se.
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

guest
проходил мимо

Скорость работы UFS

Непрочитанное сообщение guest » 2017-03-28 10:41:12

Neus писал(а):
undefined писал(а): И еще раз, скорость записи, на обычной локальной FS - оптимизировать нельзя, а вот чтение - можно,
- это zil и l2arc в случае zfs
ну шо вы такое говорите, коллега
zil никоим образом не может оптимизировать чтение, т.к. это "write only log"
zil - журнал, и на запись он не влияет, собственно поэтому и масенький, почитайте Бонвика и Co
какой размер выбирать для zil и почему (как это соотносится с записью по сети).
Да, на чтение не влияет, sorry, только arc и l2arc, бывает в спешке... :)
он как раз может оптимизировать запись, но только "sync random write"
при последовательной записи от него толку ноль, т.к. даже raizdz2 (4+2) выдает сравнимую скорость записи (~500 мб/с) на LSI HBA 2008 + WD Se.
Еще раз, нет возможности увеличить скорость записи на локальной FS, оптимизировать - можно.

AleZ
рядовой
Сообщения: 44
Зарегистрирован: 2017-03-23 17:24:07

Скорость работы UFS

Непрочитанное сообщение AleZ » 2017-03-28 10:43:25

Alex Keda писал(а): Можно куски по мегабайту скидывать, а можно по 4к частить
Звучит как буферизация, такое тоже применяется
undefined писал(а): методы чего? никто ж не знает как и что пишется...
Известно что, принимается мультикаст и пишется как есть в .mpg файлы, хотя по формату они скорее .ts. Обновил еще на той неделе софт, появилась буферизация, теперь не сразу пишет на диск, скорость записи плавает от 16kBps до 100kBps, т.е. как буферы у потоков наполнятся, нагрузка на диск снизилась, кроме моментов удаления файлов, тут все еще работает костыль, удаляются файлы последовательно, но даже во время удаления одного файла показывает до 99% нагрузку на диск. Пока посмотрю на все это, потом буду экспериментировать с софт-рейдом.

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

Скорость работы UFS

Непрочитанное сообщение Neus » 2017-03-28 12:41:38

undefined писал(а): zil - журнал, и на запись он не влияет, собственно поэтому и масенький, почитайте Бонвика и Co
какой размер выбирать для zil и почему (как это соотносится с записью по сети).
Да, на чтение не влияет, sorry, только arc и l2arc, бывает в спешке...
я много чего читал (авторов не помню), а вы снова поспешили :)
zil значительно повышает скорость синхронной записи, т.к. ответ на fsync приходит от SSD а не от HDD.
можете провести простой тест -- развернуть дерево портов на датасет при sync=always с вкл/выкл zil.
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

guest
проходил мимо

Скорость работы UFS

Непрочитанное сообщение guest » 2017-03-28 12:56:37

Neus писал(а):
undefined писал(а): zil - журнал, и на запись он не влияет, собственно поэтому и масенький, почитайте Бонвика и Co
какой размер выбирать для zil и почему (как это соотносится с записью по сети).
Да, на чтение не влияет, sorry, только arc и l2arc, бывает в спешке...
я много чего читал (авторов не помню), а вы снова поспешили :)
zil значительно повышает скорость синхронной записи, т.к. ответ на fsync приходит от SSD а не от HDD.
можете провести простой тест -- развернуть дерево портов на датасет при sync=always с вкл/выкл zil.
истинно так, посыпаю голову пеплом.

AleZ
рядовой
Сообщения: 44
Зарегистрирован: 2017-03-23 17:24:07

Скорость работы UFS

Непрочитанное сообщение AleZ » 2017-04-04 13:29:33

заменил на софт-рейд, набрал полный архив, во что получилось:

как было до перехода на софт-рейд:
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение

разобрал хард-рейд, оставил в IR, не рискнул перешивать.

dmesg

Код: Выделить всё

mpr0: SAS Address for SATA device = 486a455cbfe3d380
mpr0: SAS Address from SAS device page0 = 4433221100000000
mpr0: SAS Address from SATA device = 486a455cbfe3d380
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x0009> enclosureHandle<0x0001> slot 0
mpr0: At enclosure level 0 and connector name (    )
mpr0: SAS Address for SATA device = 4c644568c6edf47e
mpr0: SAS Address from SAS device page0 = 4433221101000000
mpr0: SAS Address from SATA device = 4c644568c6edf47e
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x000a> enclosureHandle<0x0001> slot 1
mpr0: At enclosure level 0 and connector name (    )
mpr0: SAS Address for SATA device = 4c644568d1e3f86a
mpr0: SAS Address from SAS device page0 = 4433221102000000
mpr0: SAS Address from SATA device = 4c644568d1e3f86a
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x000b> enclosureHandle<0x0001> slot 2
mpr0: At enclosure level 0 and connector name (    )
mpr0: SAS Address for SATA device = 486a455cbfedcb6c
mpr0: SAS Address from SAS device page0 = 4433221104000000
mpr0: SAS Address from SATA device = 486a455cbfedcb6c
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x000c> enclosureHandle<0x0001> slot 4
mpr0: At enclosure level 0 and connector name (    )
mpr0: SAS Address for SATA device = 4c64456ac6f4de86
mpr0: SAS Address from SAS device page0 = 4433221105000000
mpr0: SAS Address from SATA device = 4c64456ac6f4de86
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x000d> enclosureHandle<0x0001> slot 5
mpr0: At enclosure level 0 and connector name (    )
mpr0: SAS Address for SATA device = 486b4546d3ded871
mpr0: SAS Address from SAS device page0 = 4433221106000000
mpr0: SAS Address from SATA device = 486b4546d3ded871
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x000e> enclosureHandle<0x0001> slot 6
mpr0: At enclosure level 0 and connector name (    )
mpr0: SAS Address for SATA device = 64993b2cae9e8d8f
mpr0: SAS Address from SAS device page0 = 4433221107000000
mpr0: SAS Address from SATA device = 64993b2cae9e8d8f
mpr0: Found device <881<SataDev,Direct>,End Device> <3.0Gbps> handle<0x000f> enclosureHandle<0x0001> slot 7
mpr0: At enclosure level 0 and connector name (    )
(da0:mpr0:0:2:0): UNMAPPED
(da1:mpr0:0:3:0): da0 at mpr0 bus 0 scbus0 target 2 lun 0
da0: <ATA WDC WD60PURX-64T 0A80> Fixed Direct Access SPC-4 SCSI device
da0: Serial Number WD-WX11D86J17SF
da0: 600.000MB/s transfers
da0: Command Queueing enabled
da0: 5723166MB (11721045168 512 byte sectors)
da0: quirks=0x8<4K>
uhub_reattach_port: port 1 reset failed, error=USB_ERR_TIMEOUT
uhub_reattach_port: device problem (USB_ERR_TIMEOUT), disabling port 1
UNMAPPED
(da2:mpr0:0:4:0): da1 at mpr0 bus 0 scbus0 target 3 lun 0
da1: <ATA WDC WD60PURX-64T 0A80> Fixed Direct Access SPC-4 SCSI device
da1: Serial Number WD-WXN1H26V8AWD
da1: 600.000MB/s transfers
da1: Command Queueing enabled
da1: 5723166MB (11721045168 512 byte sectors)
da1: quirks=0x8<4K>
UNMAPPED
(da3:mpr0:0:6:0): UNMAPPED
da2 at mpr0 bus 0 scbus0 target 4 lun 0
da2: <ATA WDC WD60PURX-64T 0A80> Fixed Direct Access SPC-4 SCSI device
da2: Serial Number WD-WXQ1H26VC7X0
da2: 600.000MB/s transfers
da2: Command Queueing enabled
da2: 5723166MB (11721045168 512 byte sectors)
da2: quirks=0x8<4K>
GEOM_RAID: Intel-9627ebbf: Array Intel-9627ebbf created.
(da4:mpr0:0:7:0): da3 at mpr0 bus 0 scbus0 target 6 lun 0
da3: <ATA WDC WD60PURX-64T 0A80> Fixed Direct Access SPC-4 SCSI device
da3: Serial Number WD-WX11D86J1AK2
da3: 600.000MB/s transfers
da3: Command Queueing enabled
da3: 5723166MB (11721045168 512 byte sectors)
da3: quirks=0x8<4K>
UNMAPPED
(da5:mpr0:0:8:0): UNMAPPED
da4 at mpr0 bus 0 scbus0 target 7 lun 0
da4: <ATA WDC WD60PURX-64T 0A80> Fixed Direct Access SPC-4 SCSI device
da4: Serial Number WD-WXJ1H26X8HEL
da4: 600.000MB/s transfers
da4: Command Queueing enabled
da4: 5723166MB (11721045168 512 byte sectors)
da4: quirks=0x8<4K>
(da6:mpr0:0:9:0): da5 at mpr0 bus 0 scbus0 target 8 lun 0
da5: <ATA WDC WD60PURX-64T 0A80> Fixed Direct Access SPC-4 SCSI device
da5: Serial Number WD-WX41D964E2U7
da5: 600.000MB/s transfers
da5: Command Queueing enabled
da5: 5723166MB (11721045168 512 byte sectors)
da5: quirks=0x8<4K>
UNMAPPED
ses0 at ahciem0 bus 0 scbus7 target 0 lun 0
da6 at mpr0 bus 0 scbus0 target 9 lun 0
ses0: da6: <ATA WDC WD1600AAJS-0 3E03> Fixed Direct Access SPC-4 SCSI device
<AHCI SGPIO Enclosure 1.00 0001> SEMB S-E-S 2.00 device
da6: Serial Number WD-WMAV3J888006
ses0: SEMB SES Device
da6: 300.000MB/s transfers
da6: Command Queueing enabled
da6: 152627MB (312581808 512 byte sectors)
diskinfo -ct da0

Код: Выделить всё

da0
        512             # sectorsize
        6001175126016   # mediasize in bytes (5.5T)
        11721045168     # mediasize in sectors
        4096            # stripesize
        0               # stripeoffset
        729601          # Cylinders according to firmware.
        255             # Heads according to firmware.
        63              # Sectors according to firmware.
        WD-WX11D86J17SF # Disk ident.
        Not_Zoned       # Zone Mode

I/O command overhead:
        time to read 10MB block      0.161818 sec       =    0.008 msec/sector
        time to read 20480 sectors   1.435124 sec       =    0.070 msec/sector
        calculated command overhead                     =    0.062 msec/sector

Seek times:
        Full stroke:      250 iter in   9.609999 sec =   38.440 msec
        Half stroke:      250 iter in   6.796423 sec =   27.186 msec
        Quarter stroke:   500 iter in  11.604052 sec =   23.208 msec
        Short forward:    400 iter in   4.866888 sec =   12.167 msec
        Short backward:   400 iter in   3.419886 sec =    8.550 msec
        Seq outer:       2048 iter in   0.286470 sec =    0.140 msec
        Seq inner:       2048 iter in   0.266719 sec =    0.130 msec
Transfer rates:
        outside:       102400 kbytes in   0.715950 sec =   143027 kbytes/sec
        middle:        102400 kbytes in   0.793659 sec =   129023 kbytes/sec
        inside:        102400 kbytes in   1.496040 sec =    68447 kbytes/sec
mount

Код: Выделить всё

/dev/da6p2 on / (ufs, local, journaled soft-updates)
devfs on /dev (devfs, local, multilabel)
/dev/da6p4 on /var (ufs, local, journaled soft-updates)
/dev/da6p5 on /tmp (ufs, local, journaled soft-updates)
/dev/da6p6 on /usr (ufs, local, journaled soft-updates)
/dev/raid/r0 on /media/raid0 (ufs, local, soft-updates)
нагрузка на диск снизилась, запись и чтение в среднем дают около 20%, с удалением лучше, но не идеально:

файл 4,7 Гб

Код: Выделить всё

time rm 20170403-14.mpg
0.000u 0.050s 0:02.51 1.9%      7+79k 180+3io 1pf+0w
файл 1,5 Гб

Код: Выделить всё

time rm 20170403-14.mpg
0.000u 0.017s 0:00.99 1.0%      84+924k 85+3io 0pf+0w
Поигрался еще с софтом, попробовал разные размеры буферизации перед записью на диск, рандомный старт скриптов (стартуют в диапазоне 1-20 сек, и похоже что с таким-же сдвигом каждую 1-у минуту часа закрывают файл и начинают новый, в этот момент нагрузка может кратковременно подняться до 100%), сделал рандомный сдвиг времени удаления старого файла (но лучше получается удалять отдельно от скрипта по крону). Удаление файлов пригружает диск до 100%, последовательное удаление всех 165 файлов размером от 1 до 5 Гб занимает немного больше минуты.

Я так понимаю удаление в ufs это не просто затереть дескрипторы, бегает по всему диску и полностью удаляет файл?

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

Скорость работы UFS

Непрочитанное сообщение Neus » 2017-04-04 14:05:23

попробуй ZFS с параметрами: atime=off, recordsize=1m

Отправлено спустя 3 минуты 50 секунд:
AleZ писал(а): diskinfo -ct da0
diskinfo -ct /dev/raid/r0
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Скорость работы UFS

Непрочитанное сообщение f_andrey » 2017-04-04 14:05:46

Neus писал(а): попробуй ZFS с параметрами: atime=off, recordsize=1m
Ну что вы за бред советуете, на ZFS удаление очень дорогая операция, тем более больших файлов на очень заполненом томе. Только вот сейчас чуть чуть есть сдвиг в направлении улучшения ситуации, то ли для сильверинга, то ли вообще для делита, сделали какой никакой шедулер и лимиты, но это поди только на каренте.
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

Скорость работы UFS

Непрочитанное сообщение Neus » 2017-04-04 14:41:53

f_andrey писал(а): Ну что вы за бред советуете, на ZFS удаление очень дорогая операция, тем более больших файлов на очень заполненом томе.

Код: Выделить всё

root@fbsd-test:/testdb # zpool list
NAME     SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
testdb  63.5G  60.1G  3.36G         -    39%    94%  1.00x  ONLINE  -

root@fbsd-test:/testdb # ll -h
total 63058860
-rw-r--r--  1 root  wheel    50G Apr  4 15:20 file50Gb.raw
-rw-rw----  1 root  wheel   9.9G Mar 29 16:35 test.fdb

root@fbsd-test:/testdb # time rm test.fdb
0.000u 1.009s 1:20.85 1.2%      15+168k 20497+0io 0pf+0w

root@fbsd-test:/testdb # time rm file50Gb.raw
0.000u 0.013s 0:00.75 1.3%      12+132k 410+0io 0pf+0w
root@fbsd-test:/testdb #
файл test.fdb создан с recordsize=4k
а file50Gb.raw с recordsize=1m
я потому и уточнил:
Neus писал(а): попробуй ZFS с параметрами: atime=off, recordsize=1m
Отправлено спустя 1 минуту 34 секунды:
забыл:

Код: Выделить всё

root@fbsd-test:/testdb # freebsd-version
11.0-RELEASE-p8
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

Скорость работы UFS

Непрочитанное сообщение Neus » 2017-04-04 15:17:45

а вот соляра значительно быстрее работает с датасетами с recordsize=4k
в имени файла после rs указан размер блока:

Код: Выделить всё

root@oi-test:/rpool/testdb# uname -a
SunOS oi-test 5.11 illumos-2816291 i86pc i386 i86pc
root@oi-test:/rpool/testdb#
root@oi-test:/rpool/testdb# zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
rpool  63,5G  57,9G  5,58G         -    49%    91%  1.00x  ONLINE  -
root@oi-test:/rpool/testdb#
root@oi-test:/rpool/testdb# ls -lh
total 105000104
-rw-r--r--   1 root     root         25G апр  4 12:10 file_rs1m.raw
-rw-r--r--   1 root     root         25G апр  4 12:07 file_rs4k.raw
root@oi-test:/rpool/testdb#
root@oi-test:/rpool/testdb# time rm file_rs4k.raw

real    0m28.359s
user    0m0.001s
sys     0m0.568s
root@oi-test:/rpool/testdb#
root@oi-test:/rpool/testdb# time rm file_rs1m.raw

real    0m0.172s
user    0m0.001s
sys     0m0.005s
root@oi-test:/rpool/testdb#
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

AleZ
рядовой
Сообщения: 44
Зарегистрирован: 2017-03-23 17:24:07

Скорость работы UFS

Непрочитанное сообщение AleZ » 2017-04-04 15:25:23

Neus писал(а): diskinfo -ct /dev/raid/r0
два раза подряд сделал

Код: Выделить всё

# diskinfo -ct /dev/raid/r0
/dev/raid/r0
        512             # sectorsize
        36007050215424  # mediasize in bytes (33T)
        70326269952     # mediasize in sectors
        131072          # stripesize
        0               # stripeoffset

I/O command overhead:
        time to read 10MB block      0.436283 sec       =    0.021 msec/sector
        time to read 20480 sectors   1.625119 sec       =    0.079 msec/sector
        calculated command overhead                     =    0.058 msec/sector

Seek times:
        Full stroke:      250 iter in   7.177715 sec =   28.711 msec
        Half stroke:      250 iter in   5.146326 sec =   20.585 msec
        Quarter stroke:   500 iter in   8.071961 sec =   16.144 msec
        Short forward:    400 iter in   6.284617 sec =   15.712 msec
        Short backward:   400 iter in   6.236141 sec =   15.590 msec
        Seq outer:       2048 iter in   0.290579 sec =    0.142 msec
        Seq inner:       2048 iter in   0.336270 sec =    0.164 msec
Transfer rates:
        outside:       102400 kbytes in   1.610438 sec =    63585 kbytes/sec
        middle:        102400 kbytes in   0.585329 sec =   174944 kbytes/sec
        inside:        102400 kbytes in   3.764267 sec =    27203 kbytes/sec

Код: Выделить всё

# diskinfo -ct /dev/raid/r0
/dev/raid/r0
        512             # sectorsize
        36007050215424  # mediasize in bytes (33T)
        70326269952     # mediasize in sectors
        131072          # stripesize
        0               # stripeoffset

I/O command overhead:
        time to read 10MB block      0.287430 sec       =    0.014 msec/sector
        time to read 20480 sectors   1.587971 sec       =    0.078 msec/sector
        calculated command overhead                     =    0.064 msec/sector

Seek times:
        Full stroke:      250 iter in   7.242107 sec =   28.968 msec
        Half stroke:      250 iter in   4.827455 sec =   19.310 msec
        Quarter stroke:   500 iter in   8.015778 sec =   16.032 msec
        Short forward:    400 iter in   5.675800 sec =   14.190 msec
        Short backward:   400 iter in   5.548959 sec =   13.872 msec
        Seq outer:       2048 iter in   0.399108 sec =    0.195 msec
        Seq inner:       2048 iter in   0.404626 sec =    0.198 msec
Transfer rates:
        outside:       102400 kbytes in   1.958485 sec =    52285 kbytes/sec
        middle:        102400 kbytes in   1.542235 sec =    66397 kbytes/sec
        inside:        102400 kbytes in   2.465385 sec =    41535 kbytes/sec

guest
проходил мимо

Скорость работы UFS

Непрочитанное сообщение guest » 2017-04-04 20:47:57

AleZ писал(а):заменил на софт-рейд, набрал полный архив, во что получилось:

mount

Код: Выделить всё

/dev/da6p2 on / (ufs, local, journaled soft-updates)
devfs on /dev (devfs, local, multilabel)
/dev/da6p4 on /var (ufs, local, journaled soft-updates)
/dev/da6p5 on /tmp (ufs, local, journaled soft-updates)
/dev/da6p6 on /usr (ufs, local, journaled soft-updates)
/dev/raid/r0 on /media/raid0 (ufs, local, soft-updates)
нагрузка на диск снизилась, запись и чтение в среднем дают около 20%, с удалением лучше, но не идеально:

файл 4,7 Гб

Код: Выделить всё

time rm 20170403-14.mpg
0.000u 0.050s 0:02.51 1.9%      7+79k 180+3io 1pf+0w
файл 1,5 Гб

Код: Выделить всё

time rm 20170403-14.mpg
0.000u 0.017s 0:00.99 1.0%      84+924k 85+3io 0pf+0w
Поигрался еще с софтом, попробовал разные размеры буферизации перед записью на диск, рандомный старт скриптов (стартуют в диапазоне 1-20 сек, и похоже что с таким-же сдвигом каждую 1-у минуту часа закрывают файл и начинают новый, в этот момент нагрузка может кратковременно подняться до 100%), сделал рандомный сдвиг времени удаления старого файла (но лучше получается удалять отдельно от скрипта по крону). Удаление файлов пригружает диск до 100%, последовательное удаление всех 165 файлов размером от 1 до 5 Гб занимает немного больше минуты.

Я так понимаю удаление в ufs это не просто затереть дескрипторы, бегает по всему диску и полностью удаляет файл?
Вы оставили прошивку IR и даже невзирая на то что в ней есть возможность Single Disk, прослойка
работы IR осталась.

Удаление 165 файлов по 1-5GB - вещь непростая и вероятно, ничего не спасет, либо
менять железо на SAS/SSD, либо попробовать Linux: ext4, но лучше xfs.

_ankor
проходил мимо

Скорость работы UFS

Непрочитанное сообщение _ankor » 2017-04-04 21:06:06

diskinfo чушь какую-то показывает на 6-дисках страйпа
попробуйте запись/чтение на весь массив

Код: Выделить всё

dd if=/dev/zero of=file bs=1M count=20000
dd if=file of=/dev/null bs=1M
Для примера zfs mirror на 2-х дисках 750G
root@ankor:/usr/home/ankor # dd if=/dev/zero of=file bs=1M count=20000
20000+0 records in
20000+0 records out
20971520000 bytes transferred in 304.147012 secs (68951919 bytes/sec)
root@ankor:/usr/home/ankor # dd if=file of=/dev/null bs=1M
20000+0 records in
20000+0 records out
20971520000 bytes transferred in 193.176336 secs (108561538 bytes/sec)
root@ankor:/usr/home/ankor #

_ankor
проходил мимо

Скорость работы UFS

Непрочитанное сообщение _ankor » 2017-04-04 21:13:01

Ой, забыл, удаление этого file
root@ankor:/usr/home/ankor # time rm file
0.000u 0.095s 0:00.28 32.1% 16+176k 84+0io 0pf+0w
root@ankor:/usr/home/ankor #

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Скорость работы UFS

Непрочитанное сообщение f_andrey » 2017-04-04 22:49:34

Neus писал(а): файл test.fdb создан с recordsize=4k
Кстати, а у тебя фалы, как и у товарища ниже (из нулей?) а то вроде с ними как раз всё смешно :)
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

Скорость работы UFS

Непрочитанное сообщение Neus » 2017-04-05 10:17:34

f_andrey писал(а): Кстати, а у тебя фалы, как и у товарища ниже (из нулей?)
файл test.fdb реальная БД
файл в 50гб - из нулей, компрессия отключена.
в листинге с соляры оба файла по 25гб из нулей, компрессия отключена
тем не менее:

Код: Выделить всё

root@oi-test:/rpool/testdb# time rm file_rs4k.raw

real    0m28.359s
user    0m0.001s
sys     0m0.568s
root@oi-test:/rpool/testdb#
root@oi-test:/rpool/testdb# time rm file_rs1m.raw

real    0m0.172s
user    0m0.001s
sys     0m0.005s
28 сек vs 0,17 сек
а то вроде с ними как раз всё смешно
а что там?
--
оффтоп:
время рестора БД (10 Гб) в зависимости от размера recordsize:
FreeBSD:
RS=128k -- 39 min
RS=4k -- 55 min
Solaris:
RS=128k -- 28 min
RS=4k -- 33 min

Отправлено спустя 2 часа 19 секунд:
f_andrey писал(а): Кстати, а у тебя фалы, как и у товарища ниже (из нулей?) а то вроде с ними как раз всё смешно :)

Код: Выделить всё

root@fbsd-test:~ # zfs create -o recordsize=4k testdb/rs4k
root@fbsd-test:~ # zfs create -o recordsize=1m testdb/rs1m
root@fbsd-test:~ # zfs get recordsize,compression testdb/rs4k
NAME         PROPERTY     VALUE     SOURCE
testdb/rs4k  recordsize   4K        local
testdb/rs4k  compression  off       default
root@fbsd-test:~ # zfs get recordsize,compression testdb/rs1m
NAME         PROPERTY     VALUE     SOURCE
testdb/rs1m  recordsize   1M        local
testdb/rs1m  compression  off       default
root@fbsd-test:~ # cd /testdb/rs4k
root@fbsd-test:/testdb/rs4k # dd bs=1m count=5k if=/dev/random | tee file1 | tee file2 | tee file3 | tee file4 | tee file5 > file6
root@fbsd-test:/testdb/rs4k # cd ../rs1m/
root@fbsd-test:/testdb/rs1m # dd bs=1m count=5k if=/dev/random | tee file1 | tee file2 | tee file3 | tee file4 | tee file5 > file6
root@fbsd-test:/testdb/rs1m # reboot

root@fbsd-test:~ # zpool list
NAME     SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
testdb  63.5G  60.7G  2.85G         -    44%    95%  1.00x  ONLINE  -

root@fbsd-test:~ # ll -h /testdb/*
/testdb/rs1m:
total 31459953
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:21 file1
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:21 file2
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:21 file3
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:21 file4
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:21 file5
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:21 file6

/testdb/rs4k:
total 32138937
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:03 file1
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:03 file2
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:03 file3
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:03 file4
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:03 file5
-rw-r--r--  1 root  wheel   5.0G Apr  5 10:03 file6

root@fbsd-test:~ # time find /testdb/rs4k/ -type f -delete
0.000u 1.537s 3:51.25 0.6%      62+164k 61940+0io 0pf+0w

root@fbsd-test:~ # time find /testdb/rs1m/ -type f -delete
0.000u 0.013s 0:01.23 0.8%      104+272k 250+0io 0pf+0w
Отправлено спустя 25 минут 11 секунд:
update:
много мелких файлов

Код: Выделить всё

root@fbsd-test:~ # zfs create testdb/rs_default
root@fbsd-test:~ # zfs get recordsize,compression testdb/rs_default
NAME               PROPERTY     VALUE     SOURCE
testdb/rs_default  recordsize   128K      default
testdb/rs_default  compression  off       default
root@fbsd-test:~ # time cp -a /usr/ports/* /testdb/rs_default/
0.123u 35.197s 1:19.34 44.5%    21+181k 16506+252979io 131492pf+0w
root@fbsd-test:~ # reboot

root@fbsd-test:~ # time find /testdb/rs_default/ -type f -delete
0.102u 8.834s 0:14.93 59.8%     66+173k 186445+0io 0pf+0w
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

AleZ
рядовой
Сообщения: 44
Зарегистрирован: 2017-03-23 17:24:07

Скорость работы UFS

Непрочитанное сообщение AleZ » 2017-04-06 8:36:18

undefined писал(а): либо попробовать Linux: ext4, но лучше xfs.
вот тоже об этом подумал, надо попробовать.

Отправлено спустя 4 минуты 13 секунд:
только не ext4 а ext3 если верить https://www.freebsd.org/doc/handbook/fi ... linux.html

Код: Выделить всё

Support for ext4 is read-only.

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

Скорость работы UFS

Непрочитанное сообщение Neus » 2017-04-06 9:16:56

AleZ писал(а):
undefined писал(а): либо попробовать Linux: ext4, но лучше xfs.
вот тоже об этом подумал, надо попробовать.

Отправлено спустя 4 минуты 13 секунд:
только не ext4 а ext3 если верить https://www.freebsd.org/doc/handbook/fi ... linux.html

Код: Выделить всё

Support for ext4 is read-only.
похоже вы не о том подумали :)
для вашего кейса нужен Linux + XFS
XFS оптимизирована для многопоточного в/в
Ext3 ничем не лучше/хуже UFS
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

AleZ
рядовой
Сообщения: 44
Зарегистрирован: 2017-03-23 17:24:07

Скорость работы UFS

Непрочитанное сообщение AleZ » 2017-04-06 11:59:54

Ну да, гоню, в моем кейсе самым важным оказалась дисковая подсистема, ради ext не стоит держаться за FreeBSD, видимо в этом случае придется на Linux перейти.