Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];

Вниз

Медленная запись на флешку   Найти похожие ветки 

 
Ломброзо ©   (2008-04-14 14:28) [0]

Флешка Kingston 2 GB (разумеется, Китай), на упаковке написано, что соответствует спецификации USB 2.0. Чтение с неё происходит с приличной скоростью, 8-10 Мбайт/сек, а вот с записью что-то непонятное. Большие файлы копирует влёт, а при копировании многих маленьких скорость падает до 70 кбайт/сек. Я подозреваю, что падение скорости как-то связано с устройством файловой системы и размером кластера, но не до такой же степени. Что посоветуете? Отформатировать её с какими-то особыми параметрами или сдать продавцу взад?


 
oxffff ©   (2008-04-14 14:32) [1]


>
> Ломброзо ©   (14.04.08 14:28)  


Попробуй выбрать в политике Оптимизировать для выполнения.


 
NailMan ©   (2008-04-14 14:33) [2]

ну всякое может быть, хотя флеш мелких файлов нелюбит.

Попробуй ее в ntfs форматнуть. для этого в свойствах диска выбираешь закладку Оборудование->выбираешь флешку в списке->Свойства, Политика->Оптимизировать для выполнения.

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

---
P.L.U.R. and WBR, NailMan aka 2:5020/3337.13


 
Alien1769 ©   (2008-04-14 14:34) [3]

Чем записывал ?
1.Проводник
2.ТС
3.WC
4.Свое

из сабжа похоже на 3 вариант.


 
Ломброзо ©   (2008-04-14 14:37) [4]

NailMan ©   (14.04.08 14:33) [2]

Счаз попробую

Alien1769 ©   (14.04.08 14:34) [3]

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


 
Anatoly Podgoretsky ©   (2008-04-14 14:38) [5]


> но не до такой же степени.

Не да такой конечно, а до 30 кб падает, это особенность флешек при работае с маленькими файлами и маркетингом производителей, которые пообещали суперскорости. За время копирования стандартного дистрибутива, быстрее записать СД и на нем перевести, поскольку запись 700 мб разнообразных файлов, занимает часы, удаление тоже.


 
Alien1769 ©   (2008-04-14 14:41) [6]

Значит 100 % угадал. ТС использует буферизацию при записи, попробуй запист через него.


 
oxffff ©   (2008-04-14 14:43) [7]


> Ломброзо ©   (14.04.08 14:37) [4]


oxffff ©   (14.04.08 14:32) [1]

Оптимизировать для выполнения - включает кэширование записи.


 
Ломброзо ©   (2008-04-14 14:46) [8]

Чё-то не нашёл способа отформатировать её в NTFS. Это разве возможно?


 
Ломброзо ©   (2008-04-14 14:47) [9]

А, через команду format. Какой посоветуете размер кластера - побольше или поменьше?


 
DrPass ©   (2008-04-14 15:18) [10]


> oxffff ©   (14.04.08 14:43) [7]
>
> > Ломброзо ©   (14.04.08 14:37) [4]
>
>
> oxffff ©   (14.04.08 14:32) [1]
>
> Оптимизировать для выполнения - включает кэширование записи.
>

Зачем на флешке включать кеширование записи? Это как-то позволит данным оказаться на ней раньше, чем без кеширования?


 
oxffff ©   (2008-04-14 15:27) [11]


> Это как-то позволит данным оказаться на ней раньше, чем
> без кеширования?


Без кеширования все операции производятся в момент запроса операции.
С кэшированием выполняются в буфере (откладываются) и при достижении порога сбрасываются на носитель.
Именно поэтому безопасное извелечение нужно для кэширования, чтобы flush buffer.


 
Kolan ©   (2008-04-14 15:29) [12]

> её с какими-то особыми параметрами или сдать продавцу взад?

Советую: перед копирование многох мелких фалов помещать их в архив, тогдк копирование происходит «влёт».


 
DrPass ©   (2008-04-14 15:37) [13]


> oxffff ©   (14.04.08 15:27) [11]
>
> > Это как-то позволит данным оказаться на ней раньше, чем
>
> > без кеширования?
>
>
> Без кеширования все операции производятся в момент запроса
> операции.
> С кэшированием выполняются в буфере (откладываются) и при
> достижении порога сбрасываются на носитель.
> Именно поэтому безопасное извелечение нужно для кэширования,
>  чтобы flush buffer.

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


 
oxffff ©   (2008-04-14 15:45) [14]


> Т.к. скорость работы оно никак не увеличит,


Как же не увеличит. А зачем сделали кэш память процессора?
да еще и уже три уровня для современных процессоров.

Несколько мелких операций с медленным устройством "дольше", чем одна большая.

P.S.
 Купить 2 бутылки сразу, но позже, или 2 раза сбегать.
Где меньше затрат?


 
Kolan ©   (2008-04-14 15:56) [15]

> Где меньше затрат?

Ты че шиён? Одинаково. Разве ты незнаешь, что сколько не бери &#133


 
DrPass ©   (2008-04-14 15:57) [16]


> Как же не увеличит. А зачем сделали кэш память процессора?
>
> да еще и уже три уровня для современных процессоров.

Ты ж не сравнивай теплое с мягким. Кеш процессора предназначен для предварительной подкачки туда данных с медленного носителя (памяти), к которым, как ожидается, должен обратиться процессор.
Кеш диска предназначен (в первую очередь) для сбрасывания туда записываемых данных, чтобы распараллелить работу системы - процессор кинул данные в дисковый кеш и продолжил выполнение программы, в то врема как дисковая подсистема потихоньку переносит эти данные на носитель.
Так вот, объясни, каким образом кеширование диска способно ускорить запись на него? Замедлить - да, т.к. перенос данных из кеша операционки на диск будет выполняться в момент простоя системы, т.е. медленнее, чем при непосредственной записи. Ускорить - никак. Видимое ускорение получит только программа, в которой выполнялась запись. Она-то будет считать, что данные уже записаны, хотя этого на самом деле не произошло. Так что "нет никакой ложки, Нео".


 
Anatoly Podgoretsky ©   (2008-04-14 16:19) [17]

> Ломброзо  (14.04.2008 14:47:09)  [9]

Количество файлов/размер mod 2^n найти эмпирически, если файлы длинные то как можно больше, и наоборот.


 
Anatoly Podgoretsky ©   (2008-04-14 16:19) [18]

> DrPass  (14.04.2008 15:18:10)  [10]

Это психологическое оружие.


 
Anatoly Podgoretsky ©   (2008-04-14 16:20) [19]

> DrPass  (14.04.2008 15:37:13)  [13]

При наличии UPS иначе тоже рулетка.


 
Anatoly Podgoretsky ©   (2008-04-14 16:21) [20]

> oxffff  (14.04.2008 15:45:14)  [14]

Ты думаешь тут ОС тормозит, тормозит физический процесс записи на флешку.


 
Ломброзо ©   (2008-04-14 16:34) [21]

А, собственно, от контроллера флешки скорость записи может зависеть? Вдруг мне какой-нить фуфловый контроллер подсунули?


 
oxffff ©   (2008-04-14 16:37) [22]


> DrPass ©   (14.04.08 15:57) [16]


> Anatoly Podgoretsky ©   (14.04.08 16:20) [19]


Предположим у вас много маленьких файлов.
Пусть будут размером с сектор.
Каждая операция над файлом обертывается в служебную информацию.
IRP пакеты и далее IO с устройством.
Таким образом операции могут сериализоваться в непрерывный блок, который будет обрамлен служебной инофрмацией единожды.
Таким образом вы можете переписать все таблицу размещения файлов целиком. А далее писать содержимое файлов фрагментами или частично дефрагменировать.


 
DrPass ©   (2008-04-14 16:47) [23]


> Таким образом вы можете переписать все таблицу размещения
> файлов целиком. А далее писать содержимое файлов фрагментами
> или частично дефрагменировать.

Ты ж не забывай, речь идет о флешке. Ей твоя фрагментация абсолютно до фени, у нее время доступа никак не зависит от геометрического расположения файлов. Более того, физическое расположение данных на флешке не имеет ничего общего с логическим, флешевый процессор их равномерно раскидывает по ячейкам, чтобы минимизировать количество операций перезаписи одной и той же ячейки. А экономия нескольких килобайт служебной информации вряд ли спасет отца российской демократии :)


 
Anatoly Podgoretsky ©   (2008-04-14 16:57) [24]

> DrPass  (14.04.2008 15:57:16)  [16]

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


 
Anatoly Podgoretsky ©   (2008-04-14 16:57) [25]

> Ломброзо  (14.04.2008 16:34:21)  [21]

Это зависит исключительно от физики записи на флеш, все остальное несущественные ограничители.


 
Anatoly Podgoretsky ©   (2008-04-14 17:00) [26]

> oxffff  (14.04.2008 16:37:22)  [22]

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


 
Плохиш ©   (2008-04-14 17:00) [27]


> а для сменных носителей его необходимо выключать. Т.к. скорость
> работы оно никак не увеличит

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


 
oxffff ©   (2008-04-14 17:48) [28]


> DrPass ©   (14.04.08 16:47) [23]
>
> > Таким образом вы можете переписать все таблицу размещения
>
> > файлов целиком. А далее писать содержимое файлов фрагментами
>
> > или частично дефрагменировать.
>
> Ты ж не забывай, речь идет о флешке. Ей твоя фрагментация
> абсолютно до фени, у нее время доступа никак не зависит
> от геометрического расположения файлов. Более того, физическое
> расположение данных на флешке не имеет ничего общего с логическим,
>  флешевый процессор их равномерно раскидывает по ячейкам,
>  чтобы минимизировать количество операций перезаписи одной
> и той же ячейки. А экономия нескольких килобайт служебной
> информации вряд ли спасет отца российской демократии :)


Скажи если ты последовательно перепишешь сначала 5 байт, потом еще 5 байт, потом еще 5 байт.  И эта invalid область будет расположена в непрерывно в одном секторе.
Хочешь сказать, что 3 операции по 5 будут не медленнее, чем одна на 25 байт?


 
oxffff ©   (2008-04-14 17:50) [29]


> чтобы минимизировать количество операций перезаписи одной
> и той же ячейки.


Хочешь сказать что на каждый байт еще и счетчик есть. А на этот счетчик тоже есть счетчик (ведь он тоже по твоему перезаписывается)?


 
DrPass ©   (2008-04-14 18:16) [30]


> Скажи если ты последовательно перепишешь сначала 5 байт,
>  потом еще 5 байт, потом еще 5 байт.  И эта invalid область
> будет расположена в непрерывно в одном секторе.
> Хочешь сказать, что 3 операции по 5 будут не медленнее,
> чем одна на 25 байт?

Я чего-то не понял, мы говорим о работе СУБД или там файла подкачки на винте, или все-таки о сбрасывании папки с файлами на флешку? Какие еще непрерывные операции в одном секторе ты там сможешь наблюдать? Это просто потоковая запись большого массива данных.

> Хочешь сказать что на каждый байт еще и счетчик есть

На байт нет, а на страницу (аналог сектора) есть. Ты ж, надеюсь, в курсе, что дисковое пространство побайтно не адресуется?


 
AlexWlad ©   (2008-04-14 20:02) [31]

Сколько заплатил за нее? Если меньше 600руб. - ситуация нормальная.
У меня Transcend JF185 2ГБ - запись больших файлов до 16 МБ/сек, мелких - 1.5-2 МБ/сек. Правда дорогая, сволочь (~1500 руб.). Выбрал по результатам тестов IXBT.
У Кингстонов отличная по параметрам серия - DT-II MIGO edition, только трудно найти (запись 8-10 МБ/сек для больших файлов).


 
oxffff ©   (2008-04-14 20:33) [32]


> DrPass ©   (14.04.08 18:16) [30]


Я то в курсе, может тебе обратится к google?

http://www.terralab.ru/storage/15047/

Самое интересное началось в тестах копирования 1200 мелких файлов (одной директорией). Под Windows XP процедура их записи на HandyDrive с FAT32 занимала почти 24 минуты или 43 Кбайт/с (!), причем независимо от наличия кэширования, а удаление этих файлов с диска занимало более 11 минут (более полсекунды на каждый файл)! Вообще, по результатам тестов копирования можно сделать вывод, что опция кэширования записи этого диска под Windows XP не работала

Далее

Видно, что при малом размере блока данных (около 1 Кбайт) скорость записи крайне мала (те же 20–30 Кбайт/с), то есть запись оглавления диска или каталога при большом количестве файлов будет проходить крайне медленно, и не спасет даже малое время доступа.

В Windows 98 ситуация с записью была оптимистичнее — 315 Кбайт/с (чуть более 3 минут на весь пакет) с кэшированием записи и 145 Кбайт/с без кэширования. А чтение проходило на средней скорости 515 Кбайт/с. Удаление 1200 файлов показалось и вовсе мимолетным — 3 секунды. Таким образом, работающее кэширование записи под Windows 98 позволило более чем вдвое ускорить работу с множеством мелких файлов.

Далее как включить правильно кэширование записи.

http://forum.ixbt.com/topic.cgi?id=27:7938


 
DrPass ©   (2008-04-14 22:57) [33]

Отсюда можно сделать три вывода:
1. При удалении действительно выгода от кеширования есть (я ж не спорю, записать таблицу один раз быстрее чем тыщу).
2. При записи выгоды нет, что вполне логично. Объем операций с таблицей файлов ничтожен по сравнению с объемом записываемых данных.
3. В terralab.ru работают бестолочи, которые делают заведомо некорректные тесты и публикуют их результаты, путая читателей.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.006 c
15-1208060744
Cryptopsy
2008-04-13 08:25
2008.05.25
"Записать" или "Сохранить" ?


2-1208946250
tiaEver
2008-04-23 14:24
2008.05.25
Загрузить шрифт в рантайм


15-1207729759
pavel_guzhanov
2008-04-09 12:29
2008.05.25
Умерла Надежда Румянцева


15-1208102997
power on
2008-04-13 20:09
2008.05.25
Кто слушает Epica и Kamelot посоветуют что-нибудь ещё?


15-1207796277
Slider007
2008-04-10 06:57
2008.05.25
С днем рождения ! 10 апреля 2008 четверг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский