.NET Core乱糊代码之”异步调差性能”指北
前言
故事要从好久之前说起,线上某服务从零到上线都是我撸的, 架构主要是.NET Core API + EF, 从最早的日活一千到现在日活几万....总所周知EF首次启动特别慢, 如果一开始查询比较多进来, 直接落到数据库查询.
每个EF实例初始化都需要耗费一定时间, 这样势必是会影响整个性能的....现总结一下当前情况
这次上线前, 数据库已经升级了配置, 整体监控上数据库没有任何的瓶颈
没有大的逻辑变动, 老的核心接口基本都异步改造完成, 新接口基本都是异步的
不存在缓存穿透问题, Redis...这次发布最大变更是IP定位, 需要处理headers中的IP数据,
使用ActionFilterAttribute在请求进入Action方法前完成IP到地区的转换....这里主要会用到Redis和MaxMind.Db, 优先从Redis查询IP地区缓存, 没有命中则直接查询MaxMind.Db数据, 查询好之后再写入到Redis中.
代码大概是这样的.