MySql.Data.MySqlClient.CharSetMap GetEncoding的高CPU使用率

MySql.Data.MySqlClient.CharSetMap GetEncoding的高CPU使用率,mysql,asp.net-core,nhibernate,mysql.data,Mysql,Asp.net Core,Nhibernate,Mysql.data,我有一个调用数据库(MySQL)的API(AspnetCore)。我使用NHibernate和MySqlData连接器 当大量请求被发送到我的API时,我遇到一些CPU问题(接近100%),导致HTTP请求错误 我做了一次转储来分析发生了什么,我发现我的大部分CPU时间都花在MySql.Data.MySqlClient.CharSetMap::GetEncoding方法上,如下所示(对于使用16%CPU的请求,CPU使用率为7%): 我对MySql数据库使用UTF8默认排序规则: 我试图在我

我有一个调用数据库(MySQL)的API(AspnetCore)。我使用NHibernate和MySqlData连接器

当大量请求被发送到我的API时,我遇到一些CPU问题(接近100%),导致HTTP请求错误

我做了一次转储来分析发生了什么,我发现我的大部分CPU时间都花在
MySql.Data.MySqlClient.CharSetMap::GetEncoding
方法上,如下所示(对于使用16%CPU的请求,CPU使用率为7%):

我对MySql数据库使用UTF8默认排序规则:

我试图在我的ASPNET核心API中手动设置编码,这样我就可以避免
GetEncoding
的开销,但我找不到该怎么做(我甚至不知道这是否可行)


有什么建议可以提高我的CPU使用率吗?

我们花了一些时间来改进我们的API(优化缓存使用率,限制NHibernate会话的范围,等等),我们不再有这种CPU问题了。我认为编码问题是一个副作用。谢谢你的帮助。