Просто интересно, а вы когда-нибудь делали что-нибудь полезное с RAM-диск в производстве? Интересно, перевешивает ли выгода в производительности, которую они предоставляют, их временный характер в определенных обстоятельствах.
Я использовал только один раз, и это было не для производительности. Это было тогда, когда мне понадобилось записываемое дисковое пространство на сервере, показывающем ошибки жесткого диска - мне было достаточно места, чтобы установить утилиту 3ware RAID для определения хитрого диска.
Как вы использовали RAM-диск в производстве?
Я установил RAM-диск на свой почтовый шлюз.
Там у clamav есть ramdisk емкостью 256 Мб для сканирования вложений.
Работает уже почти три года, думаю, нормально :)
Абсолютно.
Бездисковые узлы, у которых их корневая файловая система находится на общем ресурсе NFS только для чтения и стратегически смонтирована tmpfs
файловые системы, чтобы разрешить запись в различные части иерархии файловой системы (например: /tmp
).
Nagios может использовать ramdisk для резкого увеличения производительности, как выяснил этот парень:
http://lickthesalt.com/2009/04/19/tweaking-nagios-for-performance/
Обычно tmpdir MySQL помещается на ramdisk (например, tmpfs), если ваше веб-приложение создает много временных таблиц на диске, т.е. Created_tmp_disk_tables
большой и все время увеличивается.
Ура
Да, Windows PE использует их для загрузки среды PE в память перед созданием образа ПК.
Меня всегда привлекала идея использования RAM-диска для размещения моего файла подкачки, но я так и не дошел до того, чтобы опробовать его, и, честно говоря, я не совсем уверен, насколько хорошо это будет работать на практике.
На межсетевом экране жесткий диск заменили на компактную флешку. Диск RAM используется, потому что CF-карты имеют ограниченные циклы записи. При выключении все, что необходимо сохранить в RAM-диске, переносится на CF-карту и перезагружается при перезагрузке. В настоящее время я занимаюсь созданием тонких клиентов Linux, используя ту же идею.
Они наиболее полезны при полном отсутствии дисков или при использовании дисков только для определенного формата, с которого ОС не загружается.
Я знаю, что это не сервер, но на старых компьютерах Mac вы могли установить RAM-диск, а затем установить на него минимальную ОС 7, установить его в качестве загрузочного тома, а затем перезагрузиться с него. Это казалось пугающим, но всегда работало, и определенно заставляло поисковика действовать более оперативно. Некоторые утверждали, что это даже ускорило работу Photoshop, но я никогда не понимал этого.
Мой нетбук выполняет синхронизацию моего профиля Firefox с RAM-диском при загрузке, удаляя очень немного раздражающие паузы, вызванные обновлением файла urlclassifier на SSD с небыстрой записью после загрузки страницы. Он синхронизирует его обратно при полном выключении, поэтому новые закладки и тому подобное не теряются между загрузками (с использованием параметра inplace, который сокращает количество операций записи, необходимых в простых тестах, которые я выполнил), или когда я приказываю (т.е. после внесения ряда изменений вроде установка + настройка плагинов).
Они также полезны для некоторых тестов производительности, когда вы не хотите, чтобы ввод-вывод диска сильно влиял на тест, но / dev / zero и друзья по какой-то причине не подойдут.
вы можете хранить небольшие, но часто записываемые файлы на ramdisk. Некоторые виды использования я делаю:
Вы должны проверить свои приложения там, где у вас есть возможность. Каталог, соответствующий требованиям tmpfs, если содержимое
RAMDISK можно использовать в законных целях, но не во многих случаях. Системный кэш обеспечивает большинство преимуществ RAMDISK без недостатков. RAMDISK требует значительного количества оперативной памяти, если его лучше использовать для других целей. Вы часто оптимизируете один аспект производительности, но теряете его в другом.
Между прочим, использование RAMDISK для файла подкачки совершенно бессмысленно. Практически в каждом случае будет лучше позволить системе использовать оперативную память по своему усмотрению.
На моем домашнем сервере работает Интернет-прокси (FreeProxy). Поскольку это дешевый сервер, а жесткие диски не самые быстрые, я использую RAM-диск объемом 1 ГБ для размещения файлов прокси-кеша. Имеет огромную разницу в производительности и теряется только при перезагрузке сервера (примерно раз в месяц в зависимости от обновлений Windows!).
У меня есть сервер RAM на 64 ГБ и я использую Ramdisk на 40 ГБ :)
На ramdisk у меня есть vhd-файлы виртуальной машины, которая работает под Hyper V.
Windows Server 2008 R2 загружается за 2 секунды. Все это примерно в 10 раз быстрее :)
Я храню сессии в mysql на RAM-диске. Намного лучше, чем тип таблицы памяти, поскольку у вас могут быть индексы и меньше проблем с конкуренцией и задержек записи, чем в надежде, что система разберется с этим - базы данных хотят убедиться, что ваши данные в безопасности, нам все равно, просто хотим быстро. Запланированные перезагрузки можно копировать на диск, а затем обратно (хотя мы склонны просто позволять сеансам истекать), и это было меньше работы для реализации, чем изменение хранилища сеансов для использования memcached (вы не можете выполнять запросы для истечения срока старых сеансов в memcached - это не так просто, как дать им истечь).
Я использую ramdisk для компиляции (/ tmp настроен как tmpfs на моем компьютере). Но я никогда не удосужился рассчитать время.
В Windows я использовал RAM-диск в качестве рабочего диска в Photoshop (поскольку он настаивает на его использовании, даже если у вас гораздо больше памяти, чем требуется). Я думаю, было бы интересно поместить папку текстур для World of Warcraft на ramdisk, но я перестал играть, прежде чем у меня было достаточно памяти, чтобы попробовать.
Мы обнаруживаем, что использование RAMDISK в качестве места для SCRATCH
файлы в Fortran действительно помогают, когда вы используете более старое, чем я, программное обеспечение на действительно больших наборах данных :)
Вы используете их при каждой загрузке вашей системы :)
Поместив необходимые модули драйверов в ramdisk, вы можете сохранить небольшое модульное ядро и по-прежнему загружаться со множества различных устройств (с «обычного» диска, через различные контроллеры рейда до корневой файловой системы в сети через NFS) - без необходимость компилировать ваши драйверы в ядро.
Одного этого должно быть достаточным основанием для существования рамдисков :)
И затем, хотя я никогда не использовал их ни для чего другого, кроме вышеупомянутого, да, они могут быть полезны в ситуациях, когда у вас есть разумное количество больших временных данных, которые нужно записывать очень часто, где это может не иметь большого значения, когда они теряются. в редком случае, когда сервер выходит из строя, требуется очень быстрое чтение и запись
Хотя это буквально не RAM-диск, архитектура Mailinator в том же духе. По сути, поскольку контент, который обрабатывает Mailinator, не является «ценным», они могут позволить себе риск его потери, чтобы значительно повысить производительность.
Solaris монтирует / tmp в оперативной памяти (или подкачивает, в зависимости от того, как вы смотрите на вещи), и вы можете настроить Linux на то же самое. Много лет назад у меня была такая же установка на моем OS / 2, я распаковывал там вещи, и это было хорошо для улучшения скорости (оригинал был на диске, отсутствие необходимости нажимать на диск было победой, а OS / 2 имел дисковый кеш фиксированного размера).
Как правило, это пустая трата памяти, так как ОС часто очень хорошо решает, как использовать доступную оперативную память.
Поскольку твердотельные накопители становятся все больше и дешевле (1-2 доллара США за ГБ для меньших дисков на момент написания этой статьи) каждую неделю, а циклы записи составляют 10 лет при использовании 24/7/365, RAM-диски на основе DRAM становятся все меньше и менее жизнеспособен.
Когда я запускал sendmail, я использовал ramdisk (технически Linux tmpfs, но функционально то же самое) для базы данных hoststat. Он занимает очень мало места, но создает множество inodes. Sendmail (в то время) не занимался этим, и он быстро растет даже на умеренно загруженном почтовом сервере. Я использовал ramdisk, чтобы мой сценарий очистки не приводил к сбою дисков из-за всех поисков в каталогах.
Я давно не видел, чтобы RAM-диски использовались, но я думаю, это потому, что такие инструменты, как memcached с учетом большего масштабирования и того факта, что теперь вы можете получить такие быстрые жесткие диски (думая о SSD-дисках), что производительность не является таким важным фактором (см. эта почта за то, как это не имело никаких серьезных различий).
Пример интересного использования memcachd: Twitter. Очень умная идея для ramdisks - это система конфиденциальности, особенно для локального пользователя - просто подумайте о завершении работы, и данные исчезнут (идея из Surasoft).
Пользуюсь рамдисками 35 лет. Лучше всего использовать для кэширования файлов на диске. Я использую ноутбук XP Pro с 3,24 ГБ для ОС (макс.) И 0,76 ГБ для файла подкачки.
Курит .....