это Этот вопрос был затронут, но, работая на 64-битном Linux, у меня есть набор JVM для кэширования данных, а также мне нужен большой веб-кеш. Сегодня каждый кэш настроен таким образом, чтобы он полностью умещался в системной памяти (24 ГБ) и сохранялся на диске в LRU.
Мне любопытно, однако, производительность, если мы ** пере ... ** выделим процессы кеширования и настроим SSD для высокоприоритетного свопа Linux. Мне интересно, может ли ядро Linux быть немного умнее / быстрее, чем наш упрощенный процесс LRU?
Меня беспокоит чрезмерное выделение кучи JVM и обмен страниц кучи ядром, поскольку для GC ему придется регулярно пересекать указанные страницы.
Боюсь, я не соглашусь с другими ответами. Да, SSD будет записывать всего около 100 КБ. Для диска 100 ГБ это означает запись 10 ^ 16 байтов или постоянный поток 100 МБ / с в течение 3000 лет. Даже если балансировка нагрузки настолько плохая, что вы получаете только 1% от этого ... ну. Кроме того, снижение производительности устраняется с помощью поддержки отмены, а современные диски не ухудшаются заметно при использовании.
Да, иметь больше серверов и ОЗУ еще лучше, но в то время как в наши дни вы получаете 100 ГБ SSD, возможно, за 200 долларов, сервер со 100 ГБ ОЗУ будет стоить вам примерно в 100 раз больше - только за ОЗУ. Потребляемая мощность, вероятно, также будет в 100 раз.
Я думаю, что SSD отлично подойдет для подкачки, переход от нескольких IOPS до десятков тысяч - это именно то, что вам нужно. Но: Я здесь только самоуверен - мне бы хотелось увидеть реальные цифры, основанные на замене SSD.
Изменить: чтобы ответить на OP, я согласен, что ядро, вероятно, будет умнее вас (без обид! :-), поэтому вы также можете попытаться увеличить доступность со своим старым вращающимся диском.
Я предполагаю, что ваша производительность не будет зависеть от ваших затрат и усилий. Моя интуиция подсказывает мне, что, возможно, вам будет НАМНОГО лучше с дополнительными серверами, заполненными оперативной памятью, если вы сможете разделить кеш данных таким образом, чтобы это было разумно.
Преимущество SSD в том, что при извлечении данных задержка практически равна нулю (сравнительно), но различные шины, соединяющие его с основной памятью или сетью, значительно замедлят его.
В дополнение к двум другим очень хорошим ответам вы можете посмотреть на КСМ как способ объединения идентичных данных в оперативной памяти. Он был объединен с Linux для выпуска 2.6.32.
Я бы предположил, что твердотельные накопители не подходят для раздела подкачки, потому что их производительность со временем ухудшается из-за большого количества операций записи. Это связано с тем фактом, что SSD имеют ограниченное время записи, и поэтому используются всевозможные уловки, чтобы минимизировать количество перезаписей одного сектора.
Посмотрим теперь:
100 ГБ x 100 КБ записи = 10000 ТБ, которые можно записать на SSD. 10000 ТБ / 100 МБ / с = 10 МБ до износа SSD. 10Мс = 2778ч = 116дней Допустим, у нас есть суперконтроллер, который устраняет почти все горячие точки, и мы получаем 90 дней ...
90 дней! = 3000 лет