Ваша реклама могла бы быть тут...

Автор Тема: Как оценить затраты памяти за один клиент серверный вызов  (Прочитано 4959 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Алексей777

  • Пользователь
  • **
  • Сообщений: 10
  • ФИО: Пермяков Алексей Алексеевич
Здравствуйте, Коллеги!

Данный вопрос есть на аттестации, у меня, конечно есть вариант ответа, хочется подтверждения от специалистов :).

Заранее благодарю.

alex15650

  • Пользователь
  • **
  • Сообщений: 13
С помощью технологического журнала, событие CALL, свойства memory и memorypeak.

v_mazeich

  • Пользователь
  • **
  • Сообщений: 22
  • ФИО: Виталий Александрович
С помощью технологического журнала, событие CALL, свойства memory и memorypeak.

Данные свойства показывают объем памяти занятой, но не освобожденной за 1 вызов.

alex15650

  • Пользователь
  • **
  • Сообщений: 13
Цитировать
Данные свойства показывают объем памяти занятой, но не освобожденной за 1 вызов.

Ну я слышал такую рекомендацию. Каков ваш вариант в таком случае?

Jarinat

  • Новичок
  • *
  • Сообщений: 8
  • ФИО: Ринат
С помощью технологического журнала, событие CALL, свойства memory и memorypeak.

Данные свойства показывают объем памяти занятой, но не освобожденной за 1 вызов.
Memory – объем памяти в байтах, занятой, но не освобожденной за серверный вызов.
MemoryPeak – пиковое значение за вызов памяти в байтах, занятой, но не освобожденной.
Т.е. как я понимаю MemoryPeak - максимальный объем памяти, занимаемый данным CALL вызовом, при этом Memory может стремиться к нулю, а MemoryPeak будет большим. Тогда MemoryPeak будет правильным ответом.
« Последнее редактирование: Март 21, 2016, 09:12:49 am от Jarinat »

Алексей777

  • Пользователь
  • **
  • Сообщений: 10
  • ФИО: Пермяков Алексей Алексеевич
Я понимаю данный вопрос в следующем ключе: за 1 клиент серверный вызов затрачивается определенный объем памяти. В параметрах рабочего сервера есть свойство - безопасный расход памяти за один вызов. Т.е. мы уже понимаем, что у нас есть некий показатель, который может ограничить наш клиент-серверный вызов. Т.е. какой объем памяти будет являться критическим для нас, а какой нет за 1 клиент серверный вызов.
Вы же предлагаете оценивать критерием: были ли полностью очищены виртуальные ячейки памяти, после того как клиент-серверный вызов закончил свою работу. И в чем же тут оценка? Будем ставить оценки как в школе: 5, если нет утечки памяти, а 2 если есть :)?

Т.е. если за один клиент серверный вызов у нас было затрачено 60% от имеющегося ресурса памяти - т.е. это нормально, глваное, чтобы утечки не произошло. Так что ли :)?

Алексей777

  • Пользователь
  • **
  • Сообщений: 10
  • ФИО: Пермяков Алексей Алексеевич
Если это правильный ответ, то он очень странный.

Jarinat

  • Новичок
  • *
  • Сообщений: 8
  • ФИО: Ринат
Я понимаю данный вопрос в следующем ключе: за 1 клиент серверный вызов затрачивается определенный объем памяти. В параметрах рабочего сервера есть свойство - безопасный расход памяти за один вызов. Т.е. мы уже понимаем, что у нас есть некий показатель, который может ограничить наш клиент-серверный вызов. Т.е. какой объем памяти будет являться критическим для нас, а какой нет за 1 клиент серверный вызов.
Вы же предлагаете оценивать критерием: были ли полностью очищены виртуальные ячейки памяти, после того как клиент-серверный вызов закончил свою работу. И в чем же тут оценка? Будем ставить оценки как в школе: 5, если нет утечки памяти, а 2 если есть :)?

Т.е. если за один клиент серверный вызов у нас было затрачено 60% от имеющегося ресурса памяти - т.е. это нормально, глваное, чтобы утечки не произошло. Так что ли :)?
CALL события регистрируются всегда, поэтому и не рекомендуется их включать надолго. Если мы расследуем утечку, то для нас критичны большие значения Memory. Если же мы говорим о затратах памяти на один серверный вызов, то MemoryPeack.

Алексей777

  • Пользователь
  • **
  • Сообщений: 10
  • ФИО: Пермяков Алексей Алексеевич
Для утечки у нас существует Leak -  с англ. так и переводится - течь ...

Т.е. это точно правильный ответ :)? Морозов А. с этим согласиться :)?

Алексей777

  • Пользователь
  • **
  • Сообщений: 10
  • ФИО: Пермяков Алексей Алексеевич
Я хотел сказать, на Александре такой ответ проверен? Он его принимает как правильный :)?

Jarinat

  • Новичок
  • *
  • Сообщений: 8
  • ФИО: Ринат
Я хотел сказать, на Александре такой ответ проверен? Он его принимает как правильный :)?
Я сам поеду сдавать только 28.03. Если будет такой вопрос, то проверю.

Алексей777

  • Пользователь
  • **
  • Сообщений: 10
  • ФИО: Пермяков Алексей Алексеевич
Думаю ответ неверный. Оценить затраты памяти за 1 клиент-серверный вызов это означает понять, что за данный вызов расходуется не критичный для сервера 1С объем опер. памяти. Тем самым мы должны приблизится к пониманию какое значение требуется установить у свойства безопасный расход памяти за один вызов (БРП). У Морозова есть статья на http://kb.1c.ru/articleView.jsp?id=79. В статье, в вкратце: "" "Допустимый объем памяти" = 12 ГБ - 2 Гб (объем, занимаемый процессами системы) - 3 Гб * 1 rphost (объем всех процессов rphost) = 7 Гб. Т.е. процесс rphost в худшем сценарии может вырасти до 7 Гб.""

Смысл, надеюсь, понятен. Базируясь на логике статьи, я могу предположить: кол-во соединений на 1 рабочий процесс в 8.3 мы знаем (Соединений), допустимый объем памяти мы посчитали (ОбъемПамяти), значит можем ОбъемПамяти/Соединений * Коэффициент = БРП, где коэффициент может, например, равняться 1,2. И вот здесь мы можем использовать уже события тех.журнала, чтобы посчитать, а сколько у нас расходуется по факту памяти за 1 клиент серверный вызов и сравнить полученный факт с показателем "Допустимый объем памяти" - тем самым мы можем дать оценку.

А вот оценивать по течет или не течет я считаю неверно. Но если Морозов считает, что верно, то я его тогда не понимаю.
 

Алексей777

  • Пользователь
  • **
  • Сообщений: 10
  • ФИО: Пермяков Алексей Алексеевич
Коллеги, может есть ещё мнения? Действительно, хочется получить точно верный ответ, если ответ MemoryPeack, то специалисты, у которых уже за плечами сертификат, подтвердите, пожалуйста данный ответ и объясните в чем, тогда я ошибаюсь. До 28 числа остаются считанные дни. Может на мисте топик открыть?

Jarinat

  • Новичок
  • *
  • Сообщений: 8
  • ФИО: Ринат
Думаю ответ неверный. Оценить затраты памяти за 1 клиент-серверный вызов это означает понять, что за данный вызов расходуется не критичный для сервера 1С объем опер. памяти. Тем самым мы должны приблизится к пониманию какое значение требуется установить у свойства безопасный расход памяти за один вызов (БРП). У Морозова есть статья на http://kb.1c.ru/articleView.jsp?id=79. В статье, в вкратце: "" "Допустимый объем памяти" = 12 ГБ - 2 Гб (объем, занимаемый процессами системы) - 3 Гб * 1 rphost (объем всех процессов rphost) = 7 Гб. Т.е. процесс rphost в худшем сценарии может вырасти до 7 Гб.""

Смысл, надеюсь, понятен. Базируясь на логике статьи, я могу предположить: кол-во соединений на 1 рабочий процесс в 8.3 мы знаем (Соединений), допустимый объем памяти мы посчитали (ОбъемПамяти), значит можем ОбъемПамяти/Соединений * Коэффициент = БРП, где коэффициент может, например, равняться 1,2. И вот здесь мы можем использовать уже события тех.журнала, чтобы посчитать, а сколько у нас расходуется по факту памяти за 1 клиент серверный вызов и сравнить полученный факт с показателем "Допустимый объем памяти" - тем самым мы можем дать оценку.

А вот оценивать по течет или не течет я считаю неверно. Но если Морозов считает, что верно, то я его тогда не понимаю.
Вопрос был изначально такой: Как оценить затраты памяти за один клиент серверный вызов. На него есть ответ CALL + MemoryPeak (если найдете другой способ - сообщите).
Если мы говорим про Безопасный расход памяти, то это настройка для каждого рабочего сервера в 8.3 в консоли кластера. Устанавливается в байтах. Если ставим 0, то значение объема определяется автоматически, как 5% Максимального объема памяти рабочих процессов на данном рабочем сервере (тоже настройка рабочего сервера).

alex15650

  • Пользователь
  • **
  • Сообщений: 13
У кого за плечами сертификат тот уже тут не сидит  :)
Ждем тогда 28 числа и результата, я только в апреле поеду  ;D

Алексей777

  • Пользователь
  • **
  • Сообщений: 10
  • ФИО: Пермяков Алексей Алексеевич
" 5% Максимального объема памяти рабочих процессов на данном рабочем сервере (тоже настройка рабочего сервера)."
Ринат, можешь дать ссылку где так написано?


Jarinat

  • Новичок
  • *
  • Сообщений: 8
  • ФИО: Ринат
" 5% Максимального объема памяти рабочих процессов на данном рабочем сервере (тоже настройка рабочего сервера)."
Ринат, можешь дать ссылку где так написано?
http://its.1c.ru/db/v837doc#bookmark:cs:TI000000158

Алексей777

  • Пользователь
  • **
  • Сообщений: 10
  • ФИО: Пермяков Алексей Алексеевич
Спасибо, Ринат!

Алексей777

  • Пользователь
  • **
  • Сообщений: 10
  • ФИО: Пермяков Алексей Алексеевич
все верно, Ринат прав: событие Call, свойство MemoryPeak.

Reglament

  • Пользователь
  • **
  • Сообщений: 10
все верно, Ринат прав: событие Call, свойство MemoryPeak.

Алексей777, могли бы Вы описать свои впечатления от сдачи в соответствующей ветке форума

alex15650

  • Пользователь
  • **
  • Сообщений: 13
Да, поделитесь впечатлениями и опытом!  :D

SoleSurvivor

  • Пользователь
  • **
  • Сообщений: 22
все верно, Ринат прав: событие Call, свойство MemoryPeak.
"Ответ неверный" цитата сами знаете кого

Oleg

  • Новичок
  • *
  • Сообщений: 6
  • ФИО: Олег
Отсюда http://its.1c.ru/db/metod8dev#content:5859:hdoc

Memory – объем памяти в байтах, занятой, но не освобожденной за серверный вызов.
MemoryPeak – пиковое значение занятой за вызов памяти в байтах.

Gosha009

  • Пользователь
  • **
  • Сообщений: 26
все верно, Ринат прав: событие Call, свойство MemoryPeak.
"Ответ неверный" цитата сами знаете кого

На мартовском экзамене это еще был верный ответ)
1С:Специалист. Платформа 1С:Предприятие 8
1С:Профессионал. Прикладное решение 1С:Управление торговлей 8

Oleg

  • Новичок
  • *
  • Сообщений: 6
  • ФИО: Олег
На экзамене от 25.04.16 вопрос как раз про максимальный объем памяти, если не ошибаюсь. И соответственно там правильный ответ MemoryPeak.

SoleSurvivor

  • Пользователь
  • **
  • Сообщений: 22
Объясняю. На экзамене мне этот вопрос не засчитали. Почему не засчитали? Александр Морозов безусловно крут. Но он не робот. Любой может быть иногда невнимательным. Мне же в такой ситуации следовало бы поспорить и защитить свой ответ, но я этого не сделал. Но есть другой момент, что в целом этот вопрос имеет очень маленький вес.
На тренинге вам объяснят, что такое Memory, MemoryPeak и что со всем этим делать. И незнание этого до тренинга не лишает вас возможности стать экспертом. Более того, некоторые особенности черного ящика "Кластер серверов 1С" вы сможете узнать только на этом тренинге.
Резюмируя. Да, по свойству MemoryPeak можно оценить затраты памяти за один серверный вызов. А точнее пиковое значение памяти в пределах вызова. Но само по себе это знание вам все-равно ни чего не даст. Поэтому идите на тренинг, там вам все расскажут :)

Oleg

  • Новичок
  • *
  • Сообщений: 6
  • ФИО: Олег
Сколько всего человек получили сертификат? Я уехал после первого дня, передо мной сдавших было 2 или 3 человека.

SoleSurvivor

  • Пользователь
  • **
  • Сообщений: 22
Сколько всего человек получили сертификат? Я уехал после первого дня, передо мной сдавших было 2 или 3 человека.
Я семерых насчитал. И, на сколько я понял, трое или четверо из них были на тренинге не первый раз
« Последнее редактирование: Апрель 29, 2016, 08:43:05 am от ThinkingStone »

Shmell

  • Новичок
  • *
  • Сообщений: 4
  • ФИО: Вадим
На самом деле - чем проще ответ - тем он лучше, ТЖ это хорошо, но зачем, если расход памяти клиент-серверного вызова можно посмотреть так:

Самый клевый куфср по подготовке к аттестации по платформе 1С:Предприятие 8