же правильно понимаю, что он означает сколько методов было скомпилировано прямо во время работы приложения? При этом в моём случае он постоянно растёт, это что получается кодогенерация какая-то или какие-то dll постоянно подгружаются/выгружаются?
Прост заметил такую особенность сегодня, а на что она может повлиять, не понимаю, но выглядит страшно)
Кодогенерация постоянная. Но потом должно устаканиться.
Хм.. Момент в том, что ничего такого намерено не было использовано. А лямбды или экспрешены сюда могут относиться?
ну да, лямбды для EF Core компилируются, Expression TRees это динамическая компиляция
> Но потом должно устаканиться. А если не устаканивается, то это означает, что всегда тратится время на JIT-компиляцию, но это не означает что в какой-то момент приложение захлебнётся?
мы щас о какой нагрузке говорим? )
80 RPS, или какая-то другая информация нужна?
ну и как оно захлебнется?
в том то и дело, что я не понимаю( Я увидел графики, которые уверено только растут в течении нескольких часов после последней доставки, и ранее такого поведения я не встречал
В итоге я нашёл причину проблемы в моём случае. Виновником оказалась библиотека FluentValidation 11.5.1. А конкретно, попытка использовать правило для всего объекта запроса целиком. В моём случае, между свойствами объекта есть зависимость, поэтому правило было описано таким образом:
В итоге я нашёл причину проблемы в моём случае. Виновником оказалась библиотека FluentValidation 11.5.1. А конкретно, попытка использовать правило для всего объекта запроса целиком. В моём случае, между свойствами объекта есть зависимость, поэтому правило было описано таким образом: RuleFor(request => request).Must((request, => request.CurrentCountryId.HasValue || request.RegistrationCountryId.HasValue)
В итоге я нашёл причину проблемы в моём случае. Виновником оказалась библиотека FluentValidation 11.5.1. А конкретно, попытка использовать правило для всего объекта запроса целиком. В моём случае, между свойствами объекта есть зависимость, поэтому правило было описано таким образом: RuleFor(request => request).Must(request => request.Property1.HasValue || request.Property2.HasValue); И это приводило к тому, что EventCounter: methods-jitted-count постоянно увеличивался. Как только переписал правило так: RuleFor(request => request.Property1).Must((request, _) => request.Property1.HasValue || request.Property2.HasValue) EventCounter: methods-jitted-count перестал бесконечно увеличиваться.
Но всё таки я не могу понять, существуют ли тут какие-то реальные проблемы, кроме того, что один конкретный счётчик начинает показывать бесполезные значения. По факту сервис продолжал нормально работать @kant2002 Подскажи пожалуйста, как ты думаешь, эта проблема достойна того, чтобы её зарепортать в репозиторий библиотеки?
Думаю надо репортить
Обсуждают сегодня