Сквид или другие кэши HTTP с хранилищем кэша SSD?

Потерянный хороших предложений до сих пор.

Как насчет защиты разъемов/уха уха. Со всеми вентиляторами, работающими в Вашей типичной серверной, уровень шума, вероятно, выше того, что считает "безопасными уровнями" Ваше типичное правительственное учреждение ETLA (следовательно защита уха).

Я держал пари, что Вы могли даже изложить доводы для защиты глаз также.

Один только второй человек/работа политика. Много материала может произойти, когда Вы меньше всего ожидаете это. Вы прикрепляетесь элементом оборудования. Вы казнены на электрическом стуле. Heck, что-то столь простое, как Вы привязываетесь. Если Вы доверяли резервному копированию, кто знает, когда Вы запускаете/останавливаете работу и когда Вы, как предполагается, регистрируетесь, они могут прийти на помощь. Иначе Вы могли ожидать долгое время, или мертвые.

9
задан 31 January 2016 в 16:43
5 ответов

Мы использовали лак на твердотельных дисках в течение прошлых 9 месяцев, он работал чрезвычайно хорошо на нас. Мы ранее использовали память сквида только кэш со слоем карпа. Это работало, но фрагментация памяти была настоящей проблемой, требующей частых перезапусков. Сквид 2.x также будет только использовать одно ядро, которое делает его довольно неэффективным на текущих аппаратных средствах.

Для нашего сайта, который является очень дружественным кэшем, мы занимаемся приблизительно 10%-м использованием CPU на 8 базовых машинах, служащих 100Mbit/s трафика. В наших тестах у нас заканчивается пропускная способность, прежде чем мы поразим пределы CPU 2 портами на 1 ГБ.

У меня действительно есть некоторый совет для выполнения лака с ssd кэшем.

  • Случайная производительность записи действительно имеет значение. Мы судили несколько поставщиков за твердотельные диски прежде, чем обосноваться на Intel x-25m. Мы видели некоторое сообщение всего.1MB/s для 4k случайных записей, мы получаем 24MB/s 4k случайные записи с x-25m.

  • Raid0. Кэш в 2,0 не является персистентным, таким образом, никакая потребность волноваться о дублировании. Это действительно делает вред перезапусков, но это редко. Можно сделать, вещам нравится, загружают новую конфигурацию и производят чистку объектов без перезапуска.

  • режим mmap. Кэш лака может быть mmap'd в файл или использовать область подкачки. Используя подкачку не работал хорошо на нас, она имеет тенденцию использовать больше i/o пропускной способности для обслуживания того же объема трафика. Существует 4 сектора readahead в коде загрузки Linux, мы записали патч для удаления этого, но не попробовали его в производстве.

  • Планировщик крайнего срока. С 2.6.28 + это ssd знающий и работает хорошо. Мы попробовали noop, но нашли, что крайний срок был более справедливым, поскольку i/o пропускная способность становится ограниченным.

  • Отключите чтение вперед. С тех пор нет никакой вращательной задержки, никакого смысла в чтении дополнительных данных просто, потому что Вам, возможно, понадобился бы он. пропускная способность i/o драгоценна на этих вещах.

  • Работайте 2.6.28 +. mmap большого количества пространства на Linux дает диспетчеру памяти хорошую тренировку, но разделение lru патчи помогает много. использование CPU kswapd отбросило много, когда мы обновили.

Мы отправили наш vcl файл, а также несколько инструментов, которые мы используем с лаком в тексте ссылки. vcl также включает аккуратный взлом, реализовывая очень быстрый geoiplookup сервер на основе maxmind базы данных.

8
ответ дан 2 December 2019 в 22:33

Я не использую SSD в качестве кэшей HTTP, но я могу сделать эти наблюдения:

Не все SSD равны, таким образом, необходимо быть очень осторожны относительно выбора достойных. FusionIO делают PCIe-поддержанные SSD, которые являются действительно высокопроизводительными исполнителями (с относительно низкой мощностью), но дорогостоящий. X25-E SLC Intel SSD работают действительно хорошо и являются более доступной, но все еще низкой мощностью. Проведите свое исследование! Я могу определенно рекомендовать варианты X25-E SLC, поскольку я использую их в производственных системах.

Существуют другие SSDS там, которые могут дать Вам большую последовательную скорость чтения-записи, но важной вещью для чего-то как кэш является случайный IO, и много SSD даст приблизительно то же случайное представление в качестве вращающих дисков. Должный записать эффекты усиления на SSD, вращающие диски будут часто работать лучше. Много SSD имеют контроллеры низкого качества (например, более старые контроллеры JMicron), который может пострадать от значительно ухудшенной производительности в некоторых ситуациях. Anandtech и другие сайты делают хорошие сравнения с инструментами как иономер, проверяют там.

И, конечно, SSD являются маленькими. Intel X25-E, которые, как я сказал бы, являются лучшим SATA SSD, который я видел, только приезжает в варианты на 32 и 64 ГБ.

Для уровней RAID все еще применяются стандартные примечания производительности RAID. Запись к RAID 5 baically включает чтение блока данных, который Вы собираетесь изменить, читая блок четности, обновляя четность, пишущий блок данных, и пишущий четность, таким образом, это все еще собирается дать худшую производительность, чем другие уровни RAID, даже с SSD. Однако с дисками как X25-E наличие такой высокой случайной производительности IO, это, вероятно, имеет значение менее - когда это собирается все еще превзойти случайный IO по характеристикам на вращающих дисках для столь же размерного массива.

Из того, что я видел, пропускная способность RAID-контроллера насыщается слишком скоро для того, чтобы извлечь максимальную пользу из 7 дисков набор RAID, по крайней мере, что касается последовательной производительности. Вы не можете получить больше, чем о 800MB/s из текущих моделей контроллеров SATA (3ware, арека и т.д.). Наличие большего количества меньших массивов, через несколько контроллеров (например, несколько RAID1s, а не единственный RAID10) улучшит это, хотя отдельная производительность каждого массива пострадает.

Относительно кэша HTTP я думаю, что Вы были бы лучше обслужены с достойным массивом вращающих дисков и большим количеством поршня. Объекты, к которым часто получают доступ, останутся в кэше памяти - или во внутреннем кэше сквида, или в кэше фс Вашей ОС. Просто давая машине больше поршня может значительно уменьшить диск, загружающийся из-за этого. При выполнении большого кэша сквида, Вы, вероятно, захотите большое дисковое пространство, и высокопроизводительные SSD все еще только существуют относительно низкой мощности.

1
ответ дан 2 December 2019 в 22:33
  • 1
    Даже X25-M применимы –  Pyrolistical 30 May 2009 в 00:18
  • 2
    I' ve, сделанные моя домашняя работа и, знают для предотвращения JMicrons. Я главным образом рассматривал X25-г-жу (Intel MLC) и возможно более новое (не JMicron) серия OCZ Vertex. –  Joel K 30 May 2009 в 00:35
  • 3
    ничего себе, ocz вершина имеет более низкую максимальную случайную запись, чем даже x25-m!!! –  Pyrolistical 30 May 2009 в 01:42

Почему Вы даже рассматриваете набег 10 или 5. Вы хотите производительность здесь. Вы не заботитесь, понижаются ли диски просто, так как это - кэш только.

Просто используйте набег 0 или разделите их. Я думаю отдельный, было бы лучше, так как сбой диска не удалит Ваш весь кэш.

0
ответ дан 2 December 2019 в 22:33
  • 1
    Как хорошо Сквид восстанавливается, если единственное хранилище данных выпадает? (очевидно, я должен протестировать это), RAID5 является компромиссом если Сквид isn' t корректный о сбое хранилища данных. –  Joel K 30 May 2009 в 00:36

Я не очень знаком с твердотельными дисками, но я могу говорить о виде архитектуры, которую я использовал, который может помочь решить некоторые Ваши проблемы.

Одноуровневые элементы

В моем случае я создал четыре сервера с 16 ГБ RAM каждый. Я установил 9 ГБ как в кэше памяти для Сквида для использования. Я настроил их как ряд одноуровневых элементов, таким образом, запрос к одному серверу запросит другие перед поиском данных. В целом у меня было 36 ГБ в кэше памяти. Я не был бы, преобладал над четырьмя одноуровневыми элементами, поскольку коммуникация между ними начинает срывать.

VIP

Я настроил VIP для этих четырех серверов для клиента, чтобы говорить. Это решило то, что происходит, когда один сервер понижается.

Дети

Я установил свое веб-приложение для запросов локального сервера Сквида, работающего 127.0.0.1. Затем настроенный родитель этого экземпляра Сквида, чтобы быть VIP. Это допускает очень быструю обработку отказа в случае всей потери работоспособности VIP. Если родители не отвечают, ребенок запрашивает сервисы непосредственно. Также удобно, если Вы используете единственный сервер Сквида и не имеете VIP. Конечно, если локальный экземпляр Сквида на Вашем веб-сервере понижается, все стачивается для остановки.

Сам сквид

Я действительно не посмотрел 3.0, но 2.x является все еще единственным, распараллелил. В какой-то момент Вы собираетесь закончиться буферы TCP или ЦП. Я распространил кэш через 2-3 меньше полей, если это возможно. Также можно хотеть планировать делить фермы Сквида в будущем, если Вы видите, что система растет.

В любом случае удача с Вашей сборкой SSD. Мне интересно слышать, как это складывается, поскольку я, вероятно, пойду тем путем в будущем.

1
ответ дан 2 December 2019 в 22:33

Документация Squid рекомендует не использовать RAID, а создать дополнительные каталоги кеша на дополнительных дисках.

-1
ответ дан 2 December 2019 в 22:33

Теги

Похожие вопросы