当前位置:网站首页>NETCORE performance troubleshooting
NETCORE performance troubleshooting
2022-06-25 10:22:00 【@@Mr.Fu】
List of articles
One 、 Performance check
The concept of performance
Performance comes from the system .
The system is divided into two categories :web System 【BS】 And the client 【 desktop 】 System 【CS】.
Performance indicators are based on
Two bases :
Number Number of client execution interfaces , That is to say 1 How many request interfaces can be executed per second , The more you deal with , The higher the performance .
Time The time from the client request to the server and respond to the request is called Performance time ; The shorter the time, the higher the performance .
Pictured :

Time and quantity are contradictory : The shorter the time, the greater the number of executions 【 throughput 】, The longer the time, the less the number of executions .
The starting point of performance is the execution time of an interface .
Get the execution time of the system interface
Tools :
- Apche JMeter 【 Commonly used 】
- ApcheBench(ab) Command line tools 【 Commonly used 】
- Gatling
- K6
- Locust
- West Wind WebSurge
- Netling
- Vegeta
- NBomber
Performance diagnostics
Tools
- VS Built in performance detector
CPU The reasons for the rise in usage
while for loop
Solution : Use Hash Table search stores data
File operations
Solution : asynchronous IO DoNetty
Network connection and network data transmission
Solution : Use caching to store data perhaps Use asynchronous IO Multiplexing mechanism
CPU The defect of increasing utilization :
The ability to handle interface concurrency decreases
The throughput of the system decreases
Performance troubleshooting
Conditions
- NET CORE 3.1 SDK or More advanced version
- dotnet-counters Check managed memory usage
- dotnet-dump Collect and analyze dump files
step
Create a memory overflow item
install dotnet-counters Get ready
dotnet tool install --global dotnet-countersFind the process number
dotnet-counters psMonitor progress
dotnet-counters monitor --refresh-interval 1 -p [ Process number ]Finally, view the display statistics
find GC Heap Size Count the growth of this program , In order to find out the code of memory overflow .
dotnet-dump install
dotnet tool install --global dotnet-dumpThen execute the project interface
Run the project
Generate dump file
dotnet-dump collect -p [ Process number ]Then analyze the dump file
dotnet-dump analyze [ Dump file name ]To analyze
dumpheap -statAnalyze the specific objects of the type
dumpheap -mt [ Type number ]Find the application root
gcroot -all [ Object number ]
边栏推荐
- tokenizers>=0.11.1,!=0.11.3,<0.13 is required for a normal functioning of this module,
- 依赖属性、依赖附加属性以及类型转换
- Shardingsphere proxy 4.1 Sous - base de données sous - table
- The path of Architects
- 【OpenCV 例程200篇】210. 绘制直线也会有这么多坑?
- 2台三菱PLC走BCNetTCP协议,能否实现网口无线通讯?
- Flutter dialog: cupertinoalertdialog
- I have summarized the knowledge points of JS [intermediate and advanced] for you
- [paper reading | deep reading] line: large scale information network embedding
- Houdini图文笔记:Your driver settings have been set to force 4x Antialiasing in OpenGL applications问题的解决
猜你喜欢

How to install SSL certificates in Microsoft Exchange 2010

Mengyou Technology: six elements of tiktok's home page decoration, how to break ten thousand dollars in three days

网络协议学习---LLDP协议学习

Basic usage and principle of schedulemaster distributed task scheduling center

ScheduleMaster分布式任务调度中心基本使用和原理

Learning notes of rxjs takeuntil operator

Yolov5 changing the upper sampling mode

MongoDB的原理、基本使用、集群和分片集群

Flask blog practice - archiving and labeling of sidebar articles

Methodchannel of flutter
随机推荐
tokenizers>=0.11.1,!=0.11.3,<0.13 is required for a normal functioning of this module,
How to make small programs on wechat? How to make small programs on wechat
Wearable devices may reveal personal privacy
Flask blog practice - realize personal center and authority management
在Microsoft Exchange Server 2007中安装SSL证书的教程
网络协议学习---LLDP协议学习
String implementation strstr()
字符串 实现 strStr()
Minio基本使用与原理
单片机进阶---PCB开发之照葫芦画瓢(二)
Principle of distribution: understanding the gossip protocol
Android database security: after the user exits, the transaction rollback log still stores relevant data information
Puzzle (019.2) hexagonal lock
Kotlin advanced set
MySQL create given statement
Kotlin Foundation
浅谈二叉树
IdentityServer4 定义概念
Tiktok brand goes to sea: both exposure and transformation are required. What are the skills of information flow advertising?
Kotlin advanced generic