我有一个调用数据库(MySQL)的API(ASPNET Core)。我使用NHibernate和MySqlData连接器。
当许多请求发送到我的API时,我遇到了导致HTTP请求错误的CPU问题(接近100%)。
我进行了转储以分析发生了什么,我发现我的大部分CPU时间都用在MySql.Data.MySqlClient.CharSetMap::GetEncoding
方法中,如下所示(对于使用16%的请求,CPU使用率为7% CPU):
我为MySql数据库使用UTF8默认排序规则:
我尝试在ASPNET Core API中手动设置编码,因此可以避免GetEncoding
的花费,但是我找不到解决方法(我什至不知道这样做是否可行)。
是否有任何建议可以改善我的CPU使用率?