yishonfighting / optimization-in-golang

optimize go applications [using simple example]

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

浅析Go程序性能分析

对于开发人员,性能分析是必备武器库,实际的性能分析并没有想象中那么困难。

会针对一些比较简单的例子,做CPU/ 内存,以及并发上的分析,目前还是仓库init阶段后续会有更多的例子补充

性能分析阐述

Go 内置的生态提供了大量的 API 及工具用于诊断程序的逻辑及性能问题。它们大致可以被分为以下几类:

Profiling:Profiling 工具(如 pprof)用于分析程序中的复杂度与开销,如内存使用及函数调用频率等,并通过它们来标识程序中开销最大的部分。

Tracing:Tracing 用于分析某次调用或用户请求的整个流程中的延迟。其支持跨进程,并展示整个系统中每个组件所花费的时间。

Debugging:Debugging 能够检验程序状态及执行流,能够暂停程序并检验其执行。

Runtime statistics and events:收集分析运行时统计及事件并提供程序健康状况的高级综述。尖峰/度的倾角能够帮助我们确定吞吐量,利用率和性能的变化。

About

optimize go applications [using simple example]


Languages

Language:Go 100.0%