Высокая загрузка ЦП для MySql.Data.MySqlClient.CharSetMap GetEncoding - PullRequest
0 голосов
/ 25 января 2019

У меня есть API (ASPNET Core), который вызывает базу данных (MySQL). Я использую NHibernate и разъем MySqlData.

Когда в мой API отправляется много запросов, я сталкиваюсь с некоторой проблемой с процессором (около 100%), которая приводит к ошибкам HTTP-запроса.

Я сделал дамп, чтобы проанализировать, что происходит, и обнаружил, что большая часть моего процессорного времени тратится на метод MySql.Data.MySqlClient.CharSetMap::GetEncoding, как вы можете видеть ниже (7% использования ЦП для запроса, который использует 16% ЦП) :

enter image description here

Я использую параметры сортировки по умолчанию UTF8 для моей базы данных MySql:

enter image description here

Я пытался установить кодировку вручную в моем ASPNET Core API, чтобы избежать затрат на GetEncoding, но не могу найти, как это сделать (я даже не знаю, возможно ли это).

Какой совет по улучшению использования моего процессора?

...