首页 新闻 赞助 找找看

EFCore每个HTTP请求中实例化一个DbContext的时候很耗费时间和CPU

0
悬赏园豆:5 [待解决问题]

用的微软的UOW,然后Service层注入UOW创建仓储,创建仓储的时候耗时30-50毫秒
一个空的Service层方法,里面就只获取仓储然后并发测试CPU都能到100%,然后接口延迟最高可达5秒,在postman里手动1秒几次的点击也会造成CPU负载很高,服务器配置4核8G
不清楚这块具体什么原因,或者有什么能优化的?

txtName的主页 txtName | 初学一级 | 园豆:9
提问于:2019-06-15 20:03

看看代码?

不如隐茶去 4年前
< >
分享
所有回答(1)
0

在 Repository 的构造函数中有没有 ToList 这样操作?

dudu | 园豆:31075 (高人七级) | 2019-06-15 21:43

没有,测下来发现在Repository的狗仔函数里有dbContext.Set<T>()的操作,这一行占用了30-50ms,并发的话这一行能到300ms左右,重点是这个时候服务器的CPU基本上就满载了。。
现在准备单独建立项目使用微软的UOW再测试一下看看

支持(0) 反对(0) txtName | 园豆:9 (初学一级) | 2019-06-16 18:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册