У меня есть API (ASPNET Core), который вызывает базу данных (MySQL). Я использую NHibernate и разъем MySqlData.
Когда в мой API отправляется много запросов, я сталкиваюсь с некоторой проблемой с процессором (около 100%), которая приводит к ошибкам HTTP-запроса.
Я сделал дамп, чтобы проанализировать, что происходит, и обнаружил, что большая часть моего процессорного времени тратится на метод MySql.Data.MySqlClient.CharSetMap::GetEncoding
, как вы можете видеть ниже (7% использования ЦП для запроса, который использует 16% ЦП) :
Я использую параметры сортировки по умолчанию UTF8 для моей базы данных MySql:
Я пытался установить кодировку вручную в моем ASPNET Core API, чтобы избежать затрат на GetEncoding
, но не могу найти, как это сделать (я даже не знаю, возможно ли это).
Какой совет по улучшению использования моего процессора?