Я знаю использование лака карта памяти метод кэширования данных в памяти, что, если я выполню следующие команды на машине, есть ли какое-либо снижение общей производительности Varnish?
например
Общий объем памяти = 4 ГБ, фиктивный случайный файл test.txt = 2 ГБ
1. cat test.txt
2. mv test.txt /another-partition
3. cp test.txt /another-partition
4. mv test.txt /another-dir
5. cp test.txt /another-dir
Ответ зависит от того, какое хранилище использует ваш кеш.
Если вы настроили varnish для использования файлового хранилища, ваши файловые операции могут повлиять на производительность.
В выделенной системе с 4 гигабайтами оперативной памяти я рекомендую вам использовать "malloc" размером около 3 гигабайт в качестве хранилища для вашего кэша.
Видеть: https://www.varnish-cache.org/docs/trunk/users-guide/storage-backends.html
Интересный вопрос!
В качестве справки эта страница от автора подсистемы виртуальной машины даст вам хорошее представление о том, что может произойти;
http://linux-mm.org/PageReplacementDesign
Обратите внимание, что на самом деле на это очень сложно ответить в его текущей форме (если вы говорите о кешах с файловой поддержкой), потому что это зависит от того, насколько горячий кеш, как долго вы кешируете элементы и `` тепло '' каждого объекта в кеше. .
Предполагая следующее: -
Поскольку размер вашего кэша лака составляет 10 ГБ, он никогда полностью не поместится в памяти, поэтому следующая формула является относительно репрезентативной.
Итак, следующее наверное результат для всех ваших команд, которые вы выполняете ..
Это наихудший сценарий. Итак, в общих чертах - каково влияние?
97% обслуженных вами запросов не окажут незначительного влияния.
Из 3% пострадавших следует ожидать более высокой задержки обслуживания обслуживаемых - возможно, 500 миллисекунд.
НО из этих 3% неудачных запросов около 2% из них тем не мение было бы медленно, потому что они хотели получить что-то из кеш-памяти 6500 МБ, чего в любом случае никогда не было в кэше страниц! Однако сейчас они действительно страдают от высокой загрузки диска.
Итак, в целом на моем надуманном и предполагаемом примере вы увидите в общих чертах около 3% потери эффективности. (100% эффективность будет, если все объекты для каждого запроса обслуживаются из памяти).
При «нормальной» работе в этом надуманном примере производительность будет около 98%.
Неплохо для кеша, который не помещается в память!