Свежие комментарии

Title Comment
Те же диски, новый пул (-O

Те же диски, новый пул (-O recordsize=1m), dd блоками по 1m:

ada1      1368     0 175206.3      0.0     0     0     0     0    0  36
ada2       689     0  88217.6      0.0     2     0     0     2    0  35
ada3       686     0  87859.2      0.0     1     0     0     1    0  27
ada4       678     0  86912.0      0.0     3     0     0     3    5  45
ada5      1366     0 174873.5      0.0     2     0     0     2    5  82
ada6       681     0  87296.0      0.0     2     0     0     2    2  40

 

Это запросто может быть, к

Это запросто может быть, к примеру, (кривой) антивирус. Вне всяких сомнений.

Но так как проблема юзера решена (выпуском под него персонального патча) - пока остается только любопытство "что это было"

дикое нубское предположение

Может, версия libc какая-нибудь экзотическая? товарищ с любопытным эффектом не замечен в установке экзотических софтов?

I like to move it, move it,

I like to move it, move it, move it.
С ящика на ящик, места впритык, поэтому пишу на zpool на котором вообще-то бэкапы.
Подключено к контроллеру на Z68 и там два порта SATA3 (один - системный SSD, второй - часть тома) и 4 порта SATA2.
И видно, насколько эти порты разные, причем SATA2 - лучше.

(впрочем, возможно что там SATA3 вообще сделаны на каком-то левом чипе, не полезу в спеки)

Успокоил :-))).

Успокоил :-))).
Для fio смещение задаётся - offset=5t. Я отлаживаю/тестирую только в начале, а дальше всё должно быть хорошо :-).

Да, ahci включен с ходу, не

Да, ahci включен с ходу, не менял.

Я запутался и перемерял и не

Я запутался и перемерял и не вижу теперь 160.
По очереди, потому что я не знаю как fio хвост померять, поэтому dd bs=1m count=5k:
He8: 196/122 голова/хвост (skip=5m). Это десятичные гигабайты, три старшие значащие цифры в выводе dd
7k6000: 227/125
Контроллер интел, пул экспортирован, IO нет.

160 получается при skip=2m (т.е. "скорость серединки"), сейчас уже не восстановить откуда цифра.

Чтобы сунуть LSI-контроллер - надо питальник отвинчивать. Я уже так утомился с этим ящиком, что не буду.

1) Нарисовать скрипт

1) Нарисовать скрипт
2) Заставить выполнить нужные действия

При том, что юзерская проблема зачинена (через open) и он с радаров пропал
Может быть некоей проблемой...

162 у медленных

Боюсь сглазить :-).
Посмотрел даташит у HE8 6T - 195MB/s.
Нашёл в старом посте:
fiolog3: read : io=18942MB, bw=193363KB/s, iops=188, runt=100312msec.

Ну, нарисовать ему dtrace

Ну, нарисовать ему dtrace скрипт, который поймает и покажет тебе эти вызовы, раз уже не ktrace/strace?

В современных AHCI - скорее

В современных AHCI - скорее всего default, я уж и забыл чтобы менял.

Есть. Но там еще юзер есть.

Есть. Но там еще юзер есть.

У меня давненько не было

У меня давненько не было современных матерей, а в старых данный режим включался в биосе. Для dd с bs=1M скорость чтения в начале у меня обычно немного превосходила даташитовскую.

Не такой уж и "бардак" :-)

Вижу тебя продолжает беспокоить неравномерность загрузки дисков в raidz2, поэтому попробую разложить всё по полкам. Рассмотрим raidz2 из 7дисков, recordsize=1M, sectorsize=4k (ashift=12) и идеальный случай - на большом участке расположены только данные (метаданными пока пренебрегаем). Recordsize формируется так: на двух дисках контрольные суммы по 52х4k, на одном диске данные 52x4k и на четырех дисках - данные 51x4k. Получается у следующей recordsize контрольные суммы сдвинуты на три диска и так по кругу (для лучшего представления желательно нарисовать эту картинку на бумаге). Возврат контрольных сумм на исходные диски произойдёт через 7 recordsize (получается патерн расположения данных и контрольных сумм у каждого диска повторяется каждые 7 recordsize). Сам патерн имеет такую последовательность: контрольная сумма (52х4k), данные (51х4k), опять контрольная сумма (52х4k) и самый длинный непрерывный участок данных на диске - (51+52+51+51)х4k. Теперь оценим длину дорожки диска. Пусть в начале диска скорость чтения равна 180MB/s и скорость вращения 7200rpm, тогда информационная емкость дорожки в начале диска будет больше 180/120=1,5MB (больше потому что необходимо учитывать время перехода на следующую дорожку/цилиндр). Отсюда вытекает, что все диски при чтении будут задействованны, будут проходить все дорожки и вычитывать только ~71% (256/360) данных их общего количества данных на дорожке. Небольшой выигрыш видится только в случае, если контрольная сумма попадёт в конец дорожки и можно будет раньше начать переход на следующую дорожку/цилиндр, хотя и здесь есть сомнения. В итоге получаем, что верхний потолок скорости одного последовательного чтения на raidz2 из 7 дисков не будет превосходить 7*0,71*(скорость_самого_медленного_диска), то есть получили почти 5*(скорость_самого_медленного) и это в идеальном случае. На реальных данных должно быть ещё ниже :-(.
Теперь рассмотрим 6 дисков в raidz2. Ты наблюдаешь чтение только с 4 и значит верхний потолок не более 4*(скорость_самого_медленного) :-). Если происходит "не частое" смещение контрольных сумм и начинается чтение со всех дисков, то видно, что сумарная скорость чтения не изменяется :-). Поэтому всё аналогично.
Берём данные из таблицы твоего следующего поста и проверяем. Для raidz2 из 6 получаем скорость "самого медленного" 521/4=130MB/s и для raidz2 из 7 - 659/5=132MB/s. Всё сходится до +- погрешность, хотя в первом случае при чтении задействованы были 4 диска, а во втором 7 :-). Можно ещё предположить, что скорость рельного "самого медленного" WD1003FBYX была где-то на 10% выше.
Но у конфигурации из 6 есть "теоретический" ресурс. Если бы при записи смена дисков для контрольных сумм происходила для одного диска на величину больше длины дорожки (допустим 2MB), то можно было бы при соответствующем увеличении окна префетча задействовать все диски и получить условно "через-дорожечное" чередование. Это дало бы ощутимый прирост скорости последовательного чтения. В алгоритме балансировки зеркала в zfs применено "через-дорожечное" чередование, поэтому разработчикам известен этот приём и наверно есть весомые причины почему он не применён в некоторых подходящих конфигурациях raidz, хотя кто его знает ;-).
Вот как то так.

ну почему же без шансов

Это ж мак? тогда там есть dtrace!

Ну по идее и интел и LSI

Ну по идее и интел и LSI должны сильно больше 2 гигабит уметь уж в любом случае.

Залезу туда по локоть сегодня - посмотрю и в BIOS.

Грузится так:
ada1 at ahcich1 bus 0 scbus1 target 0 lun 0
ada1: ACS-2 ATA SATA 3.x device

Подозреваю что апчхи - включен.

Странно, интеловский

Странно, интеловский контроллер всегда был одним из самых быстрых и имел самую низкую латентность. А точно включен режим AHCI ?

Я же тут где-то писал, 195

Я же тут где-то писал, 195-198 у быстрых и 162 у медленных.
На LSI было вроде бы чуть быстрее, типа 205 и 175.

Сегодня я в этот ящик еще раз полезу, потому что 7-й диск уже заказан, через часа полтора заберу, суну тогда LSI еще раз и еще раз посмотрю

Я уже начал писать про "6х140

Я уже начал писать про "6х140" в новом комментарии. Но всё же интересно - какая начальная скорость дисков стала на интеловском чипсетном контроллере?

Хочется же 6x140

Хочется же 6x140

Нет, 6T - сейчас на чипсетном

Нет, 6T - сейчас на чипсетном контроллере (с236). До того были на LSI.

Вообще же - описывать миграцию железа на моих двух ящиках - это можно сагу писать.

Если я правильно понял - 6T

Если я правильно понял - 6T диски перекочевали на адаптек? Если это так, то интересно как изменилась начальная скорость у дисков? По поводу "бардака" напишу ниже и начну новый комментарий, а то мало места :-).

Как по мне, то висит очень

Как по мне, то висит очень даже ровно :-).
932002 + 53216 = 146418

Истинность пробелов я в логах

Истинность пробелов я в логах не вижу, естественно, особенно после прохождения через пару E-mail клиентов.

А пробельные символы состоят

А пробельные символы состоят из истинных пробелов™ ? Вдруг там какой-нибудь   или   ? Unicode consortium без зарплаты останется, если ещё один-два пробельных символа не придумает в очередном обновлении стандарта.

В любом случае EACCESS, как мне кажется, должен быть связан с правами на доступ к каталогу. Захотелось им, например, переименовать файл в более каноническое имя в процессе открывания, или все эти параллельные ресурсные форки как-нибудь расшить/сшить, а прав нет.

Ну то есть вот предположение

Ну то есть вот предположение пока такое, что внутри QFile() с уникодом не все в порядке, зато вот QString::toUtf8() все делает как надо.

Мда. Возможно, конечно. Хотя в тех примерах что от юзера приходят (в комментариях выше есть) - чистая латиница, ни одного умляута я не вижу.

Гипотеза 1: имя файла с

Гипотеза 1: имя файла с precomposed и раздельными буквами Юникода. На маке буква ё состоит из двух юникодных символов, помню как с rsync маялся.

Гипотеза 2: право на запись в каталог: оно там невидимые файлы ._foobar создаёт

Занимается ли fopen нормализацией Юникода или удалением/созданием ресурсных фортов не знаю, не читал, но осуждаю :)

Ну на клиентской машине без

Ну на клиентской машине без шансов узнать.

А зависит, по всей видимости, именно от клиентского окружения.

[sd]trace? Какой сисколл в

[sd]trace? Какой сисколл в итоге вызывается в случае fopen64?

Но вообще, не проходит

Но вообще, не проходит гипотеза:
could not open file "/Volumes/Images/2015/Poppy House & Birds/_NIK2398.xmp"
Я не вижу тут ни одного нечеловеческого символа

Pages

Subscribe to comments_recent_new