Я понимаю, что <min-eviction-check-millis>
в конфигурации hazelcast определяет минимальное время в миллисекундах, которое должно пройти, прежде чем проверять, является ли раздел этой карты выселяемым или нет. Таким образом, в течение каждого настроенного интервала выселение будет выполняться на карте в соответствии с настроенной политикой выселения. У меня есть следующие вопросы, связанные с этой областью.
Q1. Выполняется ли операция выселения в потоке операции?
Q2. Будет ли операция выселения заблокирована для всего раздела, над которым она работает?
Q3. Нужно ли мне ожидать какого-либо снижения производительности, если я буду следовать значению по умолчанию 100 мс (что, я считаю, очень маленькое значение).
Q4. Как часто будет проводиться операция по выселению по следующему сценарию.
<map name="employees">
<in-memory-format>BINARY</in-memory-format>
<backup-count>1</backup-count>
<max-idle-seconds>1800</max-idle-seconds>
<eviction-policy>NONE</eviction-policy>
<time-to-live-seconds>0</time-to-live-seconds>
<min-eviction-check-millis>1000</min-eviction-check-millis>
<max-size>0</max-size>
<eviction-percentage>0</eviction-percentage>
<merge-policy>com.hazelcast.map.merge.PutIfAbsentMapMergePolicy</merge-policy>
</map>
Обратите внимание, что, хотя политика и процент выселения не настроены, максимальное время простоя установлено на 1800 секунд.
Ответы на приведенные выше вопросы помогут мне принять обоснованное решение о значениях, которые будут использоваться для этих конфигураций в крупномасштабном развертывании.