|
06.06.2017, 12:37 | #1 |
Модератор
|
SysGlobalCache хранит как правило не объекты, а результаты вычислений, которые иначе зафлудили бы БД миллионами мелких запросов. Что куда в семерке размазывается и как SysGlobalCache в принципе (при существующих паттернах его использования) может иметь низкий hit ratio и гды ты его смотришь, решительно непонятно.
Очистка SysGlobalCache - на совести того кто решает его использовать (он должен понимать какие изменения в системе должны этот кэш сбросить). P.S. вообще есть стойкое ощущение что в исходном сообщении попутаны SysGlobalCache и SysGlobalObjectCache
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: dech (2). |
06.06.2017, 12:43 | #2 |
Участник
|
Цитата:
Раз автор вопроса такой размазанный и невнятный, Расскажи как правильно, на твой взгляд? что нужно делать на самом деле и куда смотреть настоящему профессионалу? Цитата:
Расскажи подробнее? ))) |
|
06.06.2017, 13:35 | #3 |
Модератор
|
Я уже написал для чего "правильно" надо использовать SysGlobalCache, мое "правильно" и "правильно" от MS в этом случае совпадают
Ты сделал несколько спорных (на мой скромный взгляд) утверждений
Я предлагаю тебе попытаться их обосновать. Попробуешь ?
__________________
-ТСЯ или -ТЬСЯ ? |
|
06.06.2017, 13:58 | #4 |
Участник
|
Особое внимание прошу обратить на последний абзац: Best Practices
https://blogs.msdn.microsoft.com/axp...-implications/
__________________
// no comments |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
06.06.2017, 14:16 | #5 |
Участник
|
Цитата:
Сообщение от dech
Особое внимание прошу обратить на последний абзац: Best Practices
https://blogs.msdn.microsoft.com/axp...-implications/ Цитата:
SGOC is an LRU cache. When the cache is full, the least recently used element will be removed to accommodate newer element. Sizing the SGOC correctly will pay significant performance improvement over poorly sized SGOC setting. The number of elements Global Object cache can hold is defined in Server Configuration form under performance Optimization fast tab
Итак, вопросы: что вы думаете о глобальном кэшировании в Аксапте? как правильно, на ваш взгляд кэшировать, а как неправильно? что подлежит кэшированию, а что кэшировать ни в коем случае нельзя? что можно было бы сделать к кэшем в аксапте, чтобы упростить жизнь всех разработчиков, администраторов и пользователей? чтобы снизить вероятность ошибок, связанных с кэшированием? |
|
07.06.2017, 13:35 | #6 |
Участник
|
Будем справедливы.
Как отметил Vadik и dech, есть SysGlobalObjectCache. Там есть механизм вытеснения. Но вытесняются только те значения, которые не влезают в отведенные количественные лимиты (число записей, объем памяти) Другое дело, что в текущем коде SysGlobalObjectCache и SysGlobalCache используются поровну. Цитата:
Сообщение от dech
Особое внимание прошу обратить на последний абзац: Best Practices
https://blogs.msdn.microsoft.com/axp...-implications/ |
|
06.06.2017, 14:07 | #7 |
Участник
|
Цитата:
Сообщение от Vadik
Я уже написал для чего "правильно" надо использовать SysGlobalCache, мое "правильно" и "правильно" от MS в этом случае совпадают
Ты сделал несколько спорных (на мой скромный взгляд) утверждений
Я предлагаю тебе попытаться их обосновать. Попробуешь ? Берем акс2012, открываем дерево объектов, смотрим перекрестные ссылки. SysGlobalCache используется используется 1720 раз. хранит всякую гадость. включая, и Record, и изображения и чего только не хранит. SysGlobalObjectCache используется 1627 раз. хранит всякую гадость. включая record. разница между этими кэшами - будут ли значения видны разным клиентским сессиям. SysGlobalObjectCache - виден между сессиями, а SysGlobalCache "живет" в пределах одной сессии. все упомянутые в этой ветке глобальные кэши не имеют механизма устаревания данных. все упомянутые в этой ветке глобальные кэши можно полностью очистить. SysGlobalCache не следят за своим размером. SysGlobalCache не имеют механизма устаревания данных. все упомянутые в этой ветке глобальные кэши можно полностью очистить. на мой взгляд, методика работы с этими кэшами не должна отличаться. но хорошо что ты сказал про SysGlobalObjectCache. =========================== про hitRatio и размер пока придется поверить. или проверить самостоятельно - SysGlobalCache вполне доступен для редактирования. можно добавить измерялки в свой инстанс. =========================== Итак, вопросы: что вы думаете о глобальном кэшировании в Аксапте? как правильно, на ваш взгляд кэшировать, а как неправильно? что подлежит кэшированию, а что кэшировать ни в коем случае нельзя? что можно было бы сделать к кэшем в аксапте, чтобы упростить жизнь всех разработчиков, администраторов и пользователей? чтобы снизить вероятность ошибок, связанных с кэшированием? Последний раз редактировалось mazzy; 06.06.2017 в 14:21. |
|
06.06.2017, 20:56 | #8 |
Участник
|
Цитата:
= растет используемая память. = а из-за того, что java-объекты не освобождаются, сборщику мусора все сложнее и сложнее работать. = эффективность кэша снижается из-за того, что кэш хранит много объектов вплоть до рекомендации "в профилактических целях периодически перезагружать АОСы" |
|
06.06.2017, 21:15 | #9 |
Участник
|
|
|
06.06.2017, 21:24 | #10 |
Участник
|
Цитата:
видно число элементов в кэше, но не видно используемую память. но в ходе разбирательств выяснилось много чего другого забавного. я сформулировал выше. в конкретном случае разберемся. и с кэшами, и с памятью. мне больше было бы интересно рассуждения на тему: как правильно варить? и что люди делали в кэшами? в качестве побочного результата хочется получить знания о виндовых счетчиках и как публиковать данные из аксапты в них. Как добавить виндовый счетчик (performance monitor), который отображал бы администратору происходящее внутри аксапты? (кстати, Макс, видел твою внутреннюю страничку про регистрацию счетчиков и мониторинг. для всех бы такую. чтобы не зависело от внутренних служб) также было бы круто научиться перехватывать события закрытого класса SysGlobalObjectCache. ))) |
|
Теги |
sysglobalcache, кэширование |
|
|