Кажется, что увеличение процессора на некоторое время опередило скорость диска. Принимая во внимание настольный компьютер или ноутбук с современным двухъядерным процессором Intel / AMD и одним средним SATA-диском, даст ли компрессия на большинстве всех дисков более высокую общую производительность? В принципе, уменьшенная пропускная способность диска более чем компенсирует повышенную нагрузку на процессор? Я уверен, что реальный ответ «это зависит от того, что вы делаете». Задавая этот вопрос, я надеюсь найти кого-то, кто выполнил эту задачу и привел несколько примеров или подводных камней.
10
Ответы:
Да, сжатие диска может обеспечить лучшую производительность при определенных обстоятельствах:
Есть причина, по которой как в ZFS, так и в Btrfs, оба последних проекта с «зелеными полями», предусмотрены условия сжатия.
В пространстве HPC, когда приложение выполняет контрольные точки из памяти на диск, процессоры часто вообще не делают ничего полезного. Это время по сути чисто накладные расходы. Любое использование процессоров для сокращения этого времени является победой.
источник
Сжатие диска никогда не даст вам лучшей производительности.
Это может дать вам практически никакого штрафа из-за быстрых современных процессоров, но это совсем другое дело.
Вы предполагаете, что необходимость переносить меньше данных с / на диск может повысить производительность; но передача больших данных почти никогда не является узким местом ввода / вывода: настоящие узкие места - это время поиска и задержка. Современные жесткие диски очень быстро справляются с устойчивой передачей данных с большими файлами, что замедляет их - небольшие передачи со всего диска.
Некоторые сценарии:
источник
Существуют конкретные ситуации, в которых это делается уже на уровне приложений, например сжатие видео - система, которая не может достаточно быстро читать необработанное видео HD-качества из dsk, вместо этого может читать сжатую информацию и расширять ее, используя память и мощность процессора , Нет никаких причин, по которым это не может быть применимо и к другим конкретным ситуациям, но это лучше всего обрабатывать на уровне приложений, чтобы используемые методы сжатия были оптимизированы для своих целей.
Имейте в виду, что увеличение производительности при декомпрессии имеет смысл, если вся пропускная способность увеличивается, поэтому идея не должна быть отброшена из-под контроля - я не думаю, что мы готовы к общему повышению производительности сжатия, но это теоретически возможно обменять ресурс, у вас есть избыток (процессор и память) для увеличения в другом месте (общее количество данных, считанных с жесткого диска)
источник
Вы ответили на свой вопрос! это зависит, действительно, ответ.
Лучшее обобщение, которое я могу сделать:
Если у вас есть приложение базы данных с ограничением чтения с диска , то да! производительность лучше.
Я не думаю, что это относится к большинству действий, которые вы будете выполнять на настольном компьютере / ноутбуке.
В моем домене (SQL Server) я знаю, что создание отчетов для баз данных при больших нагрузках чтения может повысить производительность при использовании сжатия. Я знаю, что то же самое верно для MySQL.
У Microsoft есть официальный документ об их функциях сжатия в SQL Server 2008. Не совсем легкое чтение, если вы не администратор базы данных, но вот одна диаграмма, которая поддерживает мое обобщение:
источник
Скорость процессора всегда была выше скорости диска. ИМХО, сжатие увеличит накладные расходы и тем самым снизит производительность.
источник
Я читал нечто похожее на это вчера относительно OSX и его сжатия файловой системы - в основном ответ вращается вокруг того, что вы хотите сжать - в этом примере он говорит о данных «FAT»; файловые структуры, свойства, метаданные и т. д., которые при совместном хранении могут быть сжаты для экономии места и считывания в процессор быстрее, чем поиск головы в любом месте, чтобы найти данные для каждого файла ...
Во всяком случае, стоит прочитать, если вы думаете о таких вещах :-p
От: http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/3
источник
Сжатие диска Microsoft ужасно СТАРОЕ. Это вряд ли сравнимо по соотношению с методом ARJ 80-х годов. Но даже сжатие Microsoft МОЖЕТ обеспечить лучшую производительность на очень медленных (портативных) жестких дисках. Особенно, если достаточно оперативной памяти для кэширования записи и предотвращения чрезмерной записи.
Процесс записи является слабым местом любого метода сжатия с произвольным доступом.
Итак, если вам нужен сжатый диск, вам лучше перейти на какой-нибудь Linux.
Сжатие дисков также очень подходит для RAM-накопителей, не нужно объяснять почему.
источник
Сомнительно. Сжатие и распаковка включает в себя больше, чем просто диск и процессор; в частности, будет много переноса данных в память и из памяти (в дополнение к стандартным накладным расходам на передачу без сжатия), что действительно повредит с точки зрения ошибок страниц.
источник
Короче говоря, нет, вы, вероятно, не выиграете.
Хотя сжатие улучшит производительность вашего хранилища, оно значительно снизит скорость вашего процессора. Вероятно, все сводится к тому, какие файлы вы собираетесь распаковывать. Если вы имеете дело только со словом, Excel и другими основными типами файлов, тогда сожмите их. Если отдельные файлы больше, вы будете жертвовать большим количеством своего времени.
источник