JAVAPROGLIB Telegram 6744
📣 Когда кеш начинает давить на память

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

История от подписчика:
В одном проекте был использован ConcurrentHashMap для кеширования данных. Всё шло нормально, пока через некоторое время не начали замечать рост потребления памяти. Это проявлялось в том, что сервис стал работать всё медленнее, а метрики показывали высокий расход памяти.

После анализа стало ясно, что дело в кешировании: старые данные не удалялись, и кеш продолжал разрастаться. Это приводило к тому, что память заполнялась ненужными объектами, а сборщик мусора не справлялся с нагрузкой.

Для решения проблемы перешли на LRU кеш. Вместо того чтобы позволять кешу расти без контроля, был использован LinkedHashMap с ограничением размера. Это позволило реализовать механизм, автоматически удаляющий наименее используемые элементы.


💬 А у вас были такие истории, когда кеш начинал раздуваться до неприличных размеров и заставлял приложение тормозить?

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/javaproglib/6744
Create:
Last Update:

📣 Когда кеш начинает давить на память

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

История от подписчика:

В одном проекте был использован ConcurrentHashMap для кеширования данных. Всё шло нормально, пока через некоторое время не начали замечать рост потребления памяти. Это проявлялось в том, что сервис стал работать всё медленнее, а метрики показывали высокий расход памяти.

После анализа стало ясно, что дело в кешировании: старые данные не удалялись, и кеш продолжал разрастаться. Это приводило к тому, что память заполнялась ненужными объектами, а сборщик мусора не справлялся с нагрузкой.

Для решения проблемы перешли на LRU кеш. Вместо того чтобы позволять кешу расти без контроля, был использован LinkedHashMap с ограничением размера. Это позволило реализовать механизм, автоматически удаляющий наименее используемые элементы.


💬 А у вас были такие истории, когда кеш начинал раздуваться до неприличных размеров и заставлял приложение тормозить?

🐸 Библиотека джависта #междусобойчик

BY Библиотека джависта | Java, Spring, Maven, Hibernate




Share with your friend now:
tgoop.com/javaproglib/6744

View MORE
Open in Telegram


Telegram News

Date: |

2How to set up a Telegram channel? (A step-by-step tutorial) On Tuesday, some local media outlets included Sing Tao Daily cited sources as saying the Hong Kong government was considering restricting access to Telegram. Privacy Commissioner for Personal Data Ada Chung told to the Legislative Council on Monday that government officials, police and lawmakers remain the targets of “doxxing” despite a privacy law amendment last year that criminalised the malicious disclosure of personal information. More>> Add up to 50 administrators
from us


Telegram Библиотека джависта | Java, Spring, Maven, Hibernate
FROM American