自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 golang 协程追踪术

简介对于绝大部分服务,跟踪刨析是用不到的。但是如果遇到了下面问题,可以不妨一试:怀疑哪个协程慢了系统调用有问题协程调度问题 (chan 交互、互斥锁、信号量等)怀疑是 gc (Garbage-Collect) 影响了服务性能网络阻塞等等坦白的讲,通过跟踪刨析可以看到每个协程在某一时刻在干什么。做跟踪刨析,首先需要获取trace 数据。可以通过代码中插入trace, 或者上节提...

2020-04-17 10:42:25 37

原创 Golang 性能测试(2) 性能分析

本文介绍 golang 如何做性能分析。对服务做了基准性能测试后,如果服务出现问题,可以通过性能分析工具,查出消耗资源的瓶颈,并做针对性的性能优化。Golang 语言也为我们提供了方便的性能分析工具pprof,方便我们做必要的服务优化。pprof 可以做cpu分析,统计所有调用方法执行的时间片(通过采样); 可以查看内存分配,找到是否有内存泄漏,哪里泄露了(调用栈);还可以查看Block、事...

2020-04-13 10:10:20 30

原创 golang 性能测试 (1)

本文介绍golang 如何做基准性能测试。编写完代码除了跑必要的单元测试外,还需要考虑代码跑起来的性能如何。性能的衡量其实就是程序运行时候进程的内存分配,CPU消耗情况。golang 语言在提供了功能测试的基础上,提供了丰富的性能测试功能。SHOW CODE首先,从一个例子来讲起。 随便写一个简单的快速排序,然后和系统自带的排序做一个性能比较。如下为简版快排的代码:package b...

2020-04-13 10:00:32 25

提示
确定要删除当前文章?
取消 删除