AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.06.2017, 14:07   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Vadik Посмотреть сообщение
Я уже написал для чего "правильно" надо использовать SysGlobalCache, мое "правильно" и "правильно" от MS в этом случае совпадают

Ты сделал несколько спорных (на мой скромный взгляд) утверждений
  • хранят устаревшие объекты
  • имеют чудовищно низких hitRatio
  • раздуваются в памяти безо всяких ограничений.

Я предлагаю тебе попытаться их обосновать. Попробуешь ?
легко.
Берем акс2012, открываем дерево объектов, смотрим перекрестные ссылки.

SysGlobalCache используется используется 1720 раз.
хранит всякую гадость. включая, и Record, и изображения и чего только не хранит.

SysGlobalObjectCache используется 1627 раз.
хранит всякую гадость. включая record.

разница между этими кэшами - будут ли значения видны разным клиентским сессиям. SysGlobalObjectCache - виден между сессиями, а SysGlobalCache "живет" в пределах одной сессии.

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


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

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

===========================
про hitRatio и размер пока придется поверить.
или проверить самостоятельно - SysGlobalCache вполне доступен для редактирования. можно добавить измерялки в свой инстанс.

===========================
Итак, вопросы:

что вы думаете о глобальном кэшировании в Аксапте?
как правильно, на ваш взгляд кэшировать, а как неправильно?
что подлежит кэшированию, а что кэшировать ни в коем случае нельзя?
что можно было бы сделать к кэшем в аксапте, чтобы упростить жизнь всех разработчиков, администраторов и пользователей? чтобы снизить вероятность ошибок, связанных с кэшированием?
Миниатюры
Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 484
Размер:	152.5 Кб
ID:	11483   Нажмите на изображение для увеличения
Название: 2.PNG
Просмотров: 408
Размер:	125.0 Кб
ID:	11484  

__________________
полезное на axForum, github, vk, coub.

Последний раз редактировалось mazzy; 06.06.2017 в 14:21.
Старый 06.06.2017, 20:56   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от mazzy Посмотреть сообщение
SysGlobalCache не следят за своим размером.
SysGlobalCache не имеют механизма устаревания данных.
в результате
= растет используемая память.
= а из-за того, что java-объекты не освобождаются, сборщику мусора все сложнее и сложнее работать.
= эффективность кэша снижается из-за того, что кэш хранит много объектов

вплоть до рекомендации "в профилактических целях периодически перезагружать АОСы"
__________________
полезное на axForum, github, vk, coub.
Старый 06.06.2017, 21:15   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от mazzy Посмотреть сообщение
в результате
= растет используемая память.
..."
Как-то было доказано, что это именно из-за SysGlobalCache или это предположение?
Старый 06.06.2017, 21:24   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от belugin Посмотреть сообщение
Как-то было доказано, что это именно из-за SysGlobalCache или это предположение?
нет, не доказано.
видно число элементов в кэше, но не видно используемую память.
но в ходе разбирательств выяснилось много чего другого забавного. я сформулировал выше.

в конкретном случае разберемся. и с кэшами, и с памятью.

мне больше было бы интересно рассуждения на тему: как правильно варить? и что люди делали в кэшами?

в качестве побочного результата хочется получить знания о виндовых счетчиках и как публиковать данные из аксапты в них.
Как добавить виндовый счетчик (performance monitor), который отображал бы администратору происходящее внутри аксапты?
(кстати, Макс, видел твою внутреннюю страничку про регистрацию счетчиков и мониторинг. для всех бы такую. чтобы не зависело от внутренних служб)

также было бы круто научиться перехватывать события закрытого класса SysGlobalObjectCache. )))
__________________
полезное на axForum, github, vk, coub.
Старый 07.06.2017, 11:10   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,891 / 3165 (113) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от mazzy Посмотреть сообщение
нет, не доказано.
видно число элементов в кэше, но не видно используемую память.
но в ходе разбирательств выяснилось много чего другого забавного. я сформулировал выше.
Мне кажется что основные проблемы идут от протухания кешей.
Причем проблема не только в указанных вами кешах (SysGlobalCache, etc), а вообще в том, что ядро много чего кеширует и потом не синхронизирует значения в кеше с актуальными данными.

Возможно это будет оффтопик, но может быть составим реестр известных проблем и таблеток от них ?
Навскидку
1. Проблема с добавлением по живой новых полей в табличку
Ax 2012 R2. Поле "не извлечено"

2. Проблема при создании новых классов
Extension Framework and SysGlobalCache issue

Вообще, похоже в 2012-й решили жестко все кешировать, вроде бы это и неплохо, но постоянно лезут проблемы с неактуальностью значений в кешах (не только Sysglobalcache)

3. А вот тут кеша нет, а надо бы сделать кеширование.
Долгий запуск AX2012 R2
Теги
sysglobalcache, кэширование

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Обращение к http-сервису в Аксапте Lucky13 DAX: Программирование 31 24.03.2015 19:37
Функция поиска подстроки, чувствительная к регистру . Есть ли такая в аксапте? ATimTim DAX: Программирование 4 13.02.2006 15:37
Система оповещений в Аксапте (события в Аксапте) raunio DAX: Прочие вопросы 1 29.09.2005 15:44
SQL в Аксапте Smith DAX: Программирование 7 04.03.2005 11:13
Как правильно настроить возврат материалов из производства? Tony Green DAX: Функционал 14 22.10.2004 11:33

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:07.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.