Яким чином лак вирішує питання про втрату пам’яті?


9

Я використовую Varnish 3.0.3 (найновіший з моменту написання цього запису) з більш-менш установкою за замовчуванням, використовуючи наступне для зберігання:

# # Cache file location
VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin
#
# # Cache file size: in bytes, optionally using k / M / G / T suffix,
# # or in percentage of available disk space using the % suffix.
VARNISH_STORAGE_SIZE=4000M
#
# # Backend storage specification
VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"
#

Більшість сторінок, які можна кешувати, матимуть дуже довгий TTL. Сайт, з яким я працюю, величезний і містить мільйони сторінок, які неможливо вписатись у розмір пам’яті, перерахований вище (4 Гб).

Налаштуйте питання:

  • Припустимо, що весь простір пам’яті заповнений, і нічого в кеші ще не закінчилося (мій TTL становить 2 тижні на кожен елемент кешу).

  • Я припускаю, що Пан Луркер тут марний, оскільки він буде видаляти лише ті елементи, що втратили чинність, а жоден не закінчився.

Запитання:

  • Зважаючи на описаний вище сценарій, що відбувається з Varnish, коли надходять додаткові запити на те, що ще не знаходиться в кеші? Чи робить Varnish будь-яку спробу видалити старіші елементи з кешу, незалежно від TTL цих елементів? Чи лакує лак? Повісити?

  • Якщо лак не справляється зі сценарієм, чи можу я щось зробити, щоб налаштувати його, щоб краще обробити сценарій? (Я, очевидно, міг би знизити TTL елементів у кеші, але мені цікаво, чи є додаткові пропозиції).

Я бачу в цьому сценарії, що фактично лак перестає відповідати на запити. У той момент, коли це трапляється, мені не вистачає ні пам'яті, ні процесора на коробці.

Дякую.


Слідувати:

Я також бачив цю посаду

що вказувало мені назустріч

який, схоже, вказує на все, що "просто відбувається" ... але, схоже, він насправді надсилає запит PURGE для URL-адреси, що може зажадати додавання відповідних матеріалів до вашого VCL (див. https://www.varnish-cache.org/ docs / 3.0 / підручник / purging.html )

Я спробую це зробити і буду подавати подальші дії, якщо це вирішить проблему.


3
Що стосується нас, ми використовуємо Varnish для кешування величезної кількості даних, зокрема, сховище зображень, що містить близько 2,8 мільйонів зображень, схожий на файл гірського лаку 30 гіг. Заливання лаком заповнює 30 концертів, і як тільки нові речі додаються в кеш, видаляється запис кешу, який "не був доступний найдовше". Кожен запис кеша має пов’язаний з ним час, це остання часова мітка доступу. Запис йде з найнижчою останньою часовою позначкою доступу. (Btw: Чому ми кешуємо зображення !? Тому що жорсткий диск занадто повільний, щоб їх обслуговувати, а SSD на все коштує занадто багато)
sinni800

Відповіді:


1

Згідно з налаштуваннями, ви, здається, використовуєте диск для зберігання кеш-лаку.

Це не рекомендується ( для виконання ), якщо у вас немає вагомих причин (наприклад, sinni800).

Спробуйте використовувати ОЗУ для зберігання кеш-лаку ("malloc" замість "файл") і відтворіть проблему.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.