Ускоряем SSDHDD в 100 раз
Аноним24/04/24 Срд 10:44:24№69481141
И так, обнаружил тут почему то не упоминаемую в интернете штуку связанную с размером кластера на дисках, а именно то что при большоим размере кластера (ну типа даже при 2 мегабайтах), ссд и жесткие диски не читают и не передают (и не записывают на диск) остаточные нули, т.е. файл 4кб, а кластер 2мб windows 10 не будет записывать и читать каждый раз весь кластер, а только нужную его часть. (Проверить легко, создаете файл размером в несколько кб, копируете его множество раз, а потом сжимаете разжимаете архиватором, я так выяснил что сжатие/разжатие 30-50гб выполняется на сата жестком диске за 30/10 секунд при его максимальной скорости в 250мб, что было бы невозможно если бы кластеры читались и передавались полностью)
А это значит что в части ситуаций можно улучшить чтение запись 4кб блоками сделав их тупо больше из побочных эффектов получив только трату лишнего места, ну а на жестких дисках может быть вообще избавиться от необходимости в дефрагментации
И короче хочу что бы потестили со мной эту идею, может что интересное еще выяснится
Сам я давно использую 64кб кластеры на жестком диске и это работает отлично, хотя я хотел изначально сделать 256кб кластеры потому что с ними по atto benchmark'у выходит максимальная скорость в 200мб+, а с 64кб она частенько падает до 50мб/с, но чет побоялся еще не зная что система не гоняет туда сюда пустые концы кластеров.
На ссд я потестировал 64кб кластеры для отдельного раздела с файлом подкачки в 60 гигов и он похоже что тратит меньше ресурса ссд чем файл подкачки расположенный на разделе с кластерами в 4кб (я использую триллионы вкладок хрома поэтому файл подкачки у меня может доходить до ста гигов)
Оптимальных размеров кластеров я не знаю, но есть пара мыслей: Старые версии нтфс и всевозможные программы под неё ограничены размеров в 64кб, можно поставить его Для ссд я просто копировал папку программ дата и увидел что при размере кластера в 32кб она почти не расходует лишнего места, а 32кб кластер относительно 4кб может дать скорость выше почти на порядок А верхним оптимальным пределом для своего жесткого диска я определил размер в 256кб, может для ссд это тоже подойдет, у кого они емкие, но я не тестировал
Думаю оптимум нужно искать между 32кб и 256кб, в зависимости от того насколько вам нужно больше скорости и насколько пофиг лишнее потраченное место, это как раз даст ускорение в 8-64 раза (или в 128 раз, при размере кластера в 512кб, но он уже выпадает из оптимума)
Из программ которые я знаю что понимают кластеры больше 64кб это EaseUS Partition Master, дополняйте если знаете еще какие нибудь
>>6948160 На физический размер кластеров в целом то давно пофиг, это по большей части функция операционки
>>6948163 А не знаю, надо тестировать, можно через функции винды сжать том освободив кусок места, потом сделать отдельный раздел с большими кластерами и проверить архивацией мелких файлов
Ну на ХР думаю будет 64кб максимум, на 7ке хз, может быть тоже только 64, на десятке уже до 2мб кластеры
(!!!) Составной том только не делайте, он может соединять произвольные области, но на диск с ним нельзя установить ОС
>>6948114 (OP) >при большоим размере кластера (ну типа даже при 2 мегабайтах), ссд и жесткие диски не читают и не передают (и не записывают на диск) остаточные нули, т.е. файл 4кб, а кластер 2мб windows 10 не будет записывать и читать каждый раз весь кластер, а только нужную его часть. Это всего лишь означает, что "при большом кластере не будет кратного падения производительности при работе с маленькими файлами, меньше размера кластера".
Как ты из факта "производительность не сильно упадёт" выводишь свой безумный тезис "ускоряем в 100 раз" решительно не понятно.
>>6949016 Это же очевидный кликбейт, кем бы я был если бы не использовал эту возможность.
А если серьезно, то даже если взять небольшой и реалистичный размер кластера в 32кб, который почти не забирает лишнего места на системном диске то это будет минимальная скорость чтения 400мб/с там где было 50, и это значительно
256кб кластеры тоже реалистичная идея, но больше под жёсткие диски, и ещё от такого размера помимо того что становится меньше необходимость в дефрагментации шум от диска становится намного меньше
256кб это уже ускорение в 64(но мы ловко округлим до 100, потому что почему бы и нет)
Дык как, у тебя чтение 4кб блоками исчезает, превращаясь в чтение блоками в 32-256кб там где такие куски есть, в итоге устраняется самое узкое место и фрагментация на диске, в том числе и фрагментация на ссд диске, которая есть, но которую обычные дефрагментатора устранять отказываются потому что это ещё и прилично ресурса срасходует
>>6949045 >если взять небольшой и реалистичный размер кластера в 32кб, который почти не забирает лишнего места на системном диске то это будет минимальная скорость чтения 400мб/с там где было 50