NetCore 性能排查
@[toc]
一、性能排查
性能的概念
性能的来源于系统。
系统分为两类:web 系统【BS】和客户端【桌面】系统【CS】。
性能的指标根据
两个根据:
数量 客户端执行接口的数量,也就是 1 秒钟能执行多少个请求接口,处理的越多,性能越高。
时间 从客户端请求到服务端并响应请求产生的时间称之为 性能时间;时间越短性能越高。
如图:
时间和数量是一个矛盾关系:时间越短执行的数量越多【吞吐量】,时间越长执行的数量越少。
性能的起点在于执行一次接口的执行时间。
获取系统接口执行时间
工具:
Apche JMeter 【常用】
ApcheBench(ab)命令行工具【常用】
Gatling
K6
Locust
West Wind WebSurge
Netling
Vegeta
NBomber
性能诊断
工具
VS 自带的性能探测器
CPU 使用率上升的原因
while for 循环
解决方案:使用 Hash 表寻存储数据
文件操作
解决方案:异步 IO DoNetty
网络连接和网络数据传输
解决方案:使用缓存的方式存储数据 或者 使用异步 IO 多路复用机制
CPU 使用率上升的缺陷:
处理接口并发量的能力下降
系统的吞吐量下降
性能排查落地
条件
NET CORE 3.1 SDK 或 更高级版本
dotnet-counters 检查托管内存的使用情况
dotnet-dump 收集和分析转储文件
步骤
创建内存溢出项目
安装 dotnet-counters 准备
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
版权声明: 本文为 InfoQ 作者【神秘码农】的原创文章。
原文链接:【http://xie.infoq.cn/article/aeed10551b5ab40d4ff1342c1】。未经作者许可,禁止转载。
评论