Подтвердить что ты не робот

Планирование емкости кеша

Как выполнить планирование емкости кеша - например, сколько ОЗУ выделять для ehCache, memcache или dynacache? Есть ли отраслевая стандартная формула?

Например, У меня около 60 000 записей в базе данных. Это данные компании, в которой содержится название компании, описание и балансовая единица. Я хочу реализовать функцию типа с использованием jQuery и хочу сохранить данные этой компании в кеше.

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

Обновление

Идентификатор компании - CHAR (9)

Название компании - VARCHAR2 (250 CHAR)

Компания Desc - NVARCHAR2 (1000 CHAR)

4b9b3361

Ответ 1

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

2) Если сервер кэширования совпадает с вашим веб-сервером, вам нужно указать, сколько вы хотите использовать memcached (dynacache или другое). На мой взгляд, на самом деле нет идеального размера кеша. Все зависит от того, сколько памяти у вашего сервера, сколько данных вы должны положить в кеш и т.д. До тех пор, пока ваша память правильно балансирует между кешированием и веб-сервером, вы хорошо.

В этом случае у вас есть менее 100 МБ данных, которые необходимо хранить в кеше. В зависимости от того, насколько ваш сервер имеет, он очень мал, но вам всегда нужно думать, сколько там растут данные, а также вам нужно добавить дополнительные данные (например, клиенты, продукты и т.д.). Поэтому, если вы помещаете меньше, чем вам нужно, вам придется остановить службу, увеличить допустимое значение памяти и запустить службу.

Если ваш сервер обрабатывает много информации, требующей большого объема памяти, тогда вам нужно будет вычислить, сколько памяти и ресурсов эти процессы выполняются.

Быстрый пример:

  • 1 Сервер (кеш и веб-сервер) с 4G общей памяти.
  • Системные и процессы ресурсов, включая cronjob, базу данных и т.д.: 3G
  • 60 000 клиентов в общей сложности на 100 МБ (всегда используйте больше, чем фактический размер на всякий случай).

В этом примере 1G памяти осталось (приблизительно). Не рекомендуется общая сумма, поскольку у вас будет достаточно для вашей системы. Я бы сказал, что использование 384 МБ или меньше для вашего кеша будет хорошим началом. Вы позволяете вашему кешу расти, и вы не влияете на свою системную память.

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

Вот хорошая статья об этом: http://techgurulive.com/2009/07/22/how-to-allocate-memory-within-memcached/