powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Оптимальный размер блока при записи файла на флэшку
25 сообщений из 155, страница 6 из 7
Оптимальный размер блока при записи файла на флэшку
    #39790819
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С дисками еще посложнее. У них - нелинейных эффектов больше. Механика головок. И различные умные кеши.
Но самое главное - класс устройства. Старый IDE, который стоит на бабушкиных компах. SATA1/2/3.
Размер блинчика. 2.5 или 3.5. И скорость кручения. 5 тыщ. 7 тыщ. 12 тыщ (для серверных).
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39790928
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonС дисками еще посложнее. У них - нелинейных эффектов больше. Механика головок. И различные умные кеши.
Но самое главное - класс устройства. Старый IDE, который стоит на бабушкиных компах. SATA1/2/3.
Размер блинчика. 2.5 или 3.5. И скорость кручения. 5 тыщ. 7 тыщ. 12 тыщ (для серверных).
Да я вот начинаю вникать и офигеваю.
Вот чтение с достаточно распространенного WD Black, 500 GB
Смешанные файлы. Фотки, Музыка, пара видео.
Прирост скорости на маленьких размерах блока - за счет маленьких файлов.
На больших - за счет больших файлов.

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

А с большими файлами есть еще один момент. У меня они, скорее всего фрагментированы минимально. Поэтому так заметен прирост скорости при чтении большими блоками. Где бы достать много больших фрагментированных файлов для опытов?
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39790931
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeПредположу, что винчестер при поступлении на него большой очереди запросов на чтение маленькими блоками, оптимизирует порядок их выполнения и выигрывает на чтении фрагментированных файлов.

Вот может это даст какое-то прояснение https://en.wikipedia.org/wiki/Native_Command_Queuing
Я тоже почитаю.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39790942
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, соврал. Это была старая 320-ка.
500-ка вот
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791078
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonFlying-homeПредположу, что винчестер при поступлении на него большой очереди запросов на чтение маленькими блоками, оптимизирует порядок их выполнения и выигрывает на чтении фрагментированных файлов.

Вот может это даст какое-то прояснение https://en.wikipedia.org/wiki/Native_Command_Queuing
Я тоже почитаю.
Очень похоже на правду, но.
Вот две ситуации:
1. Я отправляю на винт серию команд на чтение по 64 КБ
2. Я отправляю на винт одну команду на чтение 32 МБ

Почему мы должны думать, что во втором случае NCQ не работает?
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791084
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homemaytonпропущено...

Вот может это даст какое-то прояснение https://en.wikipedia.org/wiki/Native_Command_Queuing
Я тоже почитаю.
Очень похоже на правду, но.
Вот две ситуации:
1. Я отправляю на винт серию команд на чтение по 64 КБ
2. Я отправляю на винт одну команду на чтение 32 МБ

Почему мы должны думать, что во втором случае NCQ не работает?
В смысле, кучу команд он оптимизирует (как следует из названия технологии), а одну большую команду оптимизировать не будет?
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791142
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeFlying-homeпропущено...

Очень похоже на правду, но.
Вот две ситуации:
1. Я отправляю на винт серию команд на чтение по 64 КБ
2. Я отправляю на винт одну команду на чтение 32 МБ

Почему мы должны думать, что во втором случае NCQ не работает?
В смысле, кучу команд он оптимизирует (как следует из названия технологии), а одну большую команду оптимизировать не будет?
Смотри. В твоём кейсе (копирование большого толстого файла (БТФ)) я считаю что NCQ - бесполезен.
Его основное назначение - соптимизировать хаос команд которые летят на диск когда он под современной
операционкой с кучей фоновых задач бомбит бедный диск операциями (типичная ситуация - прогрев Windows-7
или старт антивируса или индексатора файлов). В этом случае без NCQ блок головок (БГ) будет двигатся хаотично
обслуживая сиюсекундные хотелки всех-всех запущенных процессов. Типичная картинка. Мощный проц. Много
памяти а ОС стартует 15 минут. В случае с NCQ (теоретически это все SATA-шники) движения БГ от рандомного
шума должны подойти к "лесенке вверх" и лесенке вниз (это идеал). В реальности скорее всего NCQ просто
сортирует команды в монотонном порядке cylinders и исполняет их следя за консистенстностью. Ну чтоб
запись не сбила чтение.

Тоесть копированию БТФ - пофиг на NCQ, но если параллельно с этим копированием периодически прилетают
шумящие команды от других процессов то NCQ полезен.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791151
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonFlying-homeпропущено...

В смысле, кучу команд он оптимизирует (как следует из названия технологии), а одну большую команду оптимизировать не будет?
Смотри. В твоём кейсе (копирование большого толстого файла (БТФ)) я считаю что NCQ - бесполезен.
Его основное назначение - соптимизировать хаос команд которые летят на диск когда он под современной
операционкой с кучей фоновых задач бомбит бедный диск операциями (типичная ситуация - прогрев Windows-7
или старт антивируса или индексатора файлов). В этом случае без NCQ блок головок (БГ) будет двигатся хаотично
обслуживая сиюсекундные хотелки всех-всех запущенных процессов. Типичная картинка. Мощный проц. Много
памяти а ОС стартует 15 минут. В случае с NCQ (теоретически это все SATA-шники) движения БГ от рандомного
шума должны подойти к "лесенке вверх" и лесенке вниз (это идеал). В реальности скорее всего NCQ просто
сортирует команды в монотонном порядке cylinders и исполняет их следя за консистенстностью. Ну чтоб
запись не сбила чтение.

Тоесть копированию БТФ - пофиг на NCQ, но если параллельно с этим копированием периодически прилетают
шумящие команды от других процессов то NCQ полезен.
Получается, надо разбить файлы на две группы, например, меньше 8 МБ и больше. Первую группу читать блоками по 64 КБ в надежде на NCQ, вторую - большими блоками в надежде на их нефрагментированность.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791156
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще из моих наблюдений на рэйдах этот NCQ то-ли не работает, то-ли работает как-то не так. С маленькими файлами прироста скорости с уменьшением блока нет. Но там вообще фиг разберешься, что оптимизирует винт, а что - рэйд-контроллер.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791158
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И по сабжу.
Сегодня держал в руках флэшку USB 2.0
На FILE_FLAG_NO_BUFFERING она вообще не реагирует, имеет на борту буфер в 8 МБ. При записи на нее больших файлов она просто принимала в буфер порцию, потом записывала его, как сама считала нужным. И так далее.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791163
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://habr.com/ru/post/95384/
В далеком 2010 году человек пытался собирать бенчмарки по флэшкам. Но видно, что-то пошло не так.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791166
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeИ по сабжу.
Сегодня держал в руках флэшку USB 2.0
Уже год не держал флэшку в руках. Отмирают они как дисководы. Сейчас проще через облака всякие перегнать данные, чем использовать флэшку.

Мне кажется ты занимаешься тюнингом паровоза в эпоху электромобилей.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791167
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homemaytonпропущено...

Смотри. В твоём кейсе (копирование большого толстого файла (БТФ)) я считаю что NCQ - бесполезен.
Его основное назначение - соптимизировать хаос команд которые летят на диск когда он под современной
операционкой с кучей фоновых задач бомбит бедный диск операциями (типичная ситуация - прогрев Windows-7
или старт антивируса или индексатора файлов). В этом случае без NCQ блок головок (БГ) будет двигатся хаотично
обслуживая сиюсекундные хотелки всех-всех запущенных процессов. Типичная картинка. Мощный проц. Много
памяти а ОС стартует 15 минут. В случае с NCQ (теоретически это все SATA-шники) движения БГ от рандомного
шума должны подойти к "лесенке вверх" и лесенке вниз (это идеал). В реальности скорее всего NCQ просто
сортирует команды в монотонном порядке cylinders и исполняет их следя за консистенстностью. Ну чтоб
запись не сбила чтение.

Тоесть копированию БТФ - пофиг на NCQ, но если параллельно с этим копированием периодически прилетают
шумящие команды от других процессов то NCQ полезен.
Получается, надо разбить файлы на две группы, например, меньше 8 МБ и больше. Первую группу читать блоками по 64 КБ в надежде на NCQ, вторую - большими блоками в надежде на их нефрагментированность.
Делить файлы на 2 категории - мысль здравая. Плюсую.

По поводу NCQ. Надо курить документацию по дискам и понять какой смысл вкладывается в NCQ-command. Если
это 1 сектор то это одно. Если это цепочка секторов - тогда надо думать по другому.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791170
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeЕще из моих наблюдений на рэйдах этот NCQ то-ли не работает, то-ли работает как-то не так. С маленькими файлами прироста скорости с уменьшением блока нет. Но там вообще фиг разберешься, что оптимизирует винт, а что - рэйд-контроллер.
Я-ж говорю. Сложное это дело. Если в стеке у нас еще и стоит к примеру RAID-контроллер в зеркале (это кажется режим десятка)
тогда у нас на чтение контроллер будет разбрасывать транзакции на 2 диска равномерно по их готовности.
Это вообще путает все карты! Мы уже тюним 3 устройства в стеке!
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791172
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeИ по сабжу.
Сегодня держал в руках флэшку USB 2.0
На FILE_FLAG_NO_BUFFERING она вообще не реагирует, имеет на борту буфер в 8 МБ. При записи на нее больших файлов она просто принимала в буфер порцию, потом записывала его, как сама считала нужным. И так далее.
Ты обращал внимание что когда втыкаешь новую флешку - то операционка ставит
для нее драйвер? Причем для каждого вендора флешки может быть новый драйвер.
Рискну предположить что флешка - это не просто матрица памяти. Ну... наше понимание
в этом вопросе будет поверхностным если мы флешку будем опускать на такой уровень.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791173
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TFlying-homeИ по сабжу.
Сегодня держал в руках флэшку USB 2.0
Уже год не держал флэшку в руках. Отмирают они как дисководы. Сейчас проще через облака всякие перегнать данные, чем использовать флэшку.

Мне кажется ты занимаешься тюнингом паровоза в эпоху электромобилей.
Через неделю я буду заниматься тюнингом своего нового AMD. В основном
в части дележа дисков. Куда чё положить. Короче дисковый пасьянс.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791179
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЧерез неделю я буду заниматься тюнингом своего нового AMD. В основном
в части дележа дисков. Куда чё положить. Короче дисковый пасьянс.
SSD там будет?
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791181
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока нет. Куплю позже. Щас у меня идея фикс - собрать программное зеркало для хранения
домашних семейных фото-архивов. Почему зеркало? Да достало копии делать. Всё равно
забываешь. И что с..ка характерно. Все винты разного размера. Двушка. единичка. и 0.5 терабайт.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791188
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonFlying-homeЕще из моих наблюдений на рэйдах этот NCQ то-ли не работает, то-ли работает как-то не так. С маленькими файлами прироста скорости с уменьшением блока нет. Но там вообще фиг разберешься, что оптимизирует винт, а что - рэйд-контроллер.
Я-ж говорю. Сложное это дело. Если в стеке у нас еще и стоит к примеру RAID-контроллер в зеркале (это кажется режим десятка)
тогда у нас на чтение контроллер будет разбрасывать транзакции на 2 диска равномерно по их готовности.
Это вообще путает все карты! Мы уже тюним 3 устройства в стеке!
Да, кстати, надо будет поплотнее потестить это "разбрасывание". Кажется, при безбуферных операциях его нет.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791246
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПока нет. Куплю позже. Щас у меня идея фикс - собрать программное зеркало для хранения
домашних семейных фото-архивов. Почему зеркало? Да достало копии делать. Всё равно
забываешь. И что с..ка характерно. Все винты разного размера. Двушка. единичка. и 0.5 терабайт.

Ну вот, приехали :) Бекап и зеркало это - разные вещи. Оно не защитит ни от усер эррор, ни от шифровальщиков.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791263
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПока нет. Куплю позже. Щас у меня идея фикс - собрать программное зеркало для хранения
домашних семейных фото-архивов. Почему зеркало? Да достало копии делать. Всё равно
забываешь. И что с..ка характерно. Все винты разного размера. Двушка. единичка. и 0.5 терабайт.
SSD недорогие нынче, достаточно 240 Гб под системный диск. Комп летать будет.
Для бэкапа лучше роутер с HDD и туда сливать. А чтобы не забывать можно по заданию запускать батник, а в нем xcopy или robocopy только новых файлов.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791274
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проснулся и понял. Понял, что ничего не понятно.

Я не использую технологию IOCP, я читаю последовательно. При таком подходе NCQ не должно давать этого самого "эффекта маленьких файлов", при котором мелкие файлы читаются быстрее при маленьких размерах блока. Зато если задействовать IOCP... Интересно будет посмотреть на результаты.

В общем, вопрос остается открытым.
Сформулирую его еще раз:
При последовательном чтении больших файлов на безбуферных операциях наблюдается стабильный прирост скорости чтения с увеличением размера блока. Вплоть до 16 и 32 МБ.
При последовательном чтении сравнительно маленьких файлов (размером до 8 МБ) на SATA винчестерах наблюдается обратный эффект: скорость чтения растет с уменьшением блока вплоть до 132 КБ.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791293
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeВ общем, вопрос остается открытым.Попробуйте uni_ata . В нём есть какое-то логгирование . Вдруг, поможет.

Вопрос с количеством потоков- интересный. Неясно, как его решить в общем случае. На RAID или некоторых SSD это может ускорить, но определить конфигурацию в общем смысле, видимо- непросто.
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791361
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HuntermaytonПока нет. Куплю позже. Щас у меня идея фикс - собрать программное зеркало для хранения
домашних семейных фото-архивов. Почему зеркало? Да достало копии делать. Всё равно
забываешь. И что с..ка характерно. Все винты разного размера. Двушка. единичка. и 0.5 терабайт.

Ну вот, приехали :) Бекап и зеркало это - разные вещи. Оно не защитит ни от усер эррор, ни от шифровальщиков.
У меня узер один. Это я. И шифровать не буду. Кому нужны мои домашние фотки?
...
Рейтинг: 0 / 0
Оптимальный размер блока при записи файла на флэшку
    #39791366
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TmaytonПока нет. Куплю позже. Щас у меня идея фикс - собрать программное зеркало для хранения
домашних семейных фото-архивов. Почему зеркало? Да достало копии делать. Всё равно
забываешь. И что с..ка характерно. Все винты разного размера. Двушка. единичка. и 0.5 терабайт.
SSD недорогие нынче, достаточно 240 Гб под системный диск. Комп летать будет.
Для бэкапа лучше роутер с HDD и туда сливать. А чтобы не забывать можно по заданию запускать батник, а в нем xcopy или robocopy только новых файлов.
xcopy только новых файлов это не метод. Это я уже проходил. Потом после восстановления
жена тебе скажет - "я же тебя просила удалить эту фотку где я - толстая/больная/или в
некрасивом платье"

Удаление и переименовывание файлов должно накатываться на бэкап именно так-же как
и транзакции в БД.
...
Рейтинг: 0 / 0
25 сообщений из 155, страница 6 из 7
Форумы / Windows [игнор отключен] [закрыт для гостей] / Оптимальный размер блока при записи файла на флэшку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]