我有一个api(aspnet core),它调用一个数据库(mysql)。我使用nhibernate和mysqldata连接器。
当很多请求被发送到我的api时,我会遇到一些cpu问题(接近100%),这些问题会导致http请求错误。
我做了一个转储来分析发生了什么,我发现我的大部分CPU时间都花在
MySql.Data.MySqlClient.CharSetMap::GetEncoding
方法,如下所示(对于使用16%CPU的请求,使用7%的CPU):
我对mysql数据库使用utf8默认排序规则:
我试图在aspnet核心api中手动设置编码,这样就可以避免
GetEncoding
成本,但我找不到怎么做(我甚至不知道是否有可能)。
有什么建议可以提高我的CPU使用率吗?