У нас есть сервер с 64 ГБ общей оперативной памяти, приложения обычно используют максимум 30 ГБ этой доступной оперативной памяти. Одно из этих приложений работает с большим количеством плоских файлов, и у нас возникают проблемы с пропускной способностью, а именно с ожиданием дискового ввода-вывода. При изучении возможных решений возникла идея RAM-диска. У меня проблема с RAM-диском — присущая ему волатильность.
Я нашел отдельную документацию по RAM-дискам, конфигурации RAID 1 и логическим зеркальным томам для группировки. физический дисков, но я не могу найти документацию, в которой говорилось бы, можно ли использовать какое-либо из этих решений для репликации дисков с RAM-диском. Что еще более важно, поскольку идея состоит в том, чтобы RAM-диск был доступен для чтения/записи, а физический диск «затенял» RAM-диск, догоняя записи, мы хотели бы, чтобы RAM-диск был «основным» диском для всех читает/пишет.
Чтобы отметить, мы бы как чтобы избежать простого кэширования файлов в ОЗУ с ОС, но если мы сможем получить такую же производительность, как автономный RAM-диск, это может сработать. Сначала мы избегали этого, так как часто определенные файлы не будут доступны в течение длительного периода времени, но по-прежнему нуждаются в скорости чтения/записи по запросу.
8 ответов
Следует отметить, что мы хотели бы избежать простого кэширования файлов в ОЗУ с ОС, но если мы сможем получить такую же производительность, как автономный RAM-диск, это может сработать. Сначала мы избегали этого, так как часто определенные файлы не будут доступны в течение длительного периода времени, но по-прежнему нуждаются в скорости чтения/записи по запросу.
Вы могли бы использовать vmtouch
чтобы решить вашу проблему. Это утилита, которая позволяет вам закрепить определенные файлы или даже целые каталоги и все, что под ними, в кэше страниц, чтобы они не были вытеснены, даже если к ним не обращались в течение длительного периода времени (что было вашей первоначальной причиной не просто в зависимости от кэша страниц). Это требует не более того же объема памяти, что и ваш RAM-диск, или меньше на практике. Вы по-прежнему будете использовать кеш страниц, но это приведет к производительности, аналогичной использованию RAM-диска для всего (фактически более высокая производительность, поскольку драйвер MD не будет задействован).
Это можно взломать вместе, но это плохая идея и, вероятно, имеет множество проблем с надежностью и ремонтопригодностью.
Земля Килканен