|
06.06.2017, 14:07 | #1 |
Участник
|
Цитата:
Сообщение от 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 | #2 |
Участник
|
Цитата:
= растет используемая память. = а из-за того, что java-объекты не освобождаются, сборщику мусора все сложнее и сложнее работать. = эффективность кэша снижается из-за того, что кэш хранит много объектов вплоть до рекомендации "в профилактических целях периодически перезагружать АОСы" |
|
06.06.2017, 21:15 | #3 |
Участник
|
|
|
06.06.2017, 21:24 | #4 |
Участник
|
Цитата:
видно число элементов в кэше, но не видно используемую память. но в ходе разбирательств выяснилось много чего другого забавного. я сформулировал выше. в конкретном случае разберемся. и с кэшами, и с памятью. мне больше было бы интересно рассуждения на тему: как правильно варить? и что люди делали в кэшами? в качестве побочного результата хочется получить знания о виндовых счетчиках и как публиковать данные из аксапты в них. Как добавить виндовый счетчик (performance monitor), который отображал бы администратору происходящее внутри аксапты? (кстати, Макс, видел твою внутреннюю страничку про регистрацию счетчиков и мониторинг. для всех бы такую. чтобы не зависело от внутренних служб) также было бы круто научиться перехватывать события закрытого класса SysGlobalObjectCache. ))) |
|
07.06.2017, 11:10 | #5 |
Участник
|
Цитата:
Причем проблема не только в указанных вами кешах (SysGlobalCache, etc), а вообще в том, что ядро много чего кеширует и потом не синхронизирует значения в кеше с актуальными данными. Возможно это будет оффтопик, но может быть составим реестр известных проблем и таблеток от них ? Навскидку 1. Проблема с добавлением по живой новых полей в табличку Ax 2012 R2. Поле "не извлечено" 2. Проблема при создании новых классов Extension Framework and SysGlobalCache issue Вообще, похоже в 2012-й решили жестко все кешировать, вроде бы это и неплохо, но постоянно лезут проблемы с неактуальностью значений в кешах (не только Sysglobalcache) 3. А вот тут кеша нет, а надо бы сделать кеширование. Долгий запуск AX2012 R2 |
|
Теги |
sysglobalcache, кэширование |
|
|