课程费用

5800.00 /人

课程时长

2

成为教练

课程简介

随着大数据时代的快速到来,以及大数据在生产生活中迅速应用,大数据领域如雨后春笋般的出现大量的新技术,如Go语言等技术,其中Go语言已经成为编程语言中重要的一部分,被越来越多的企业所使用。为了使Go语言处理速度更快,效率更高,在使用过程中不可避免的需要进行一系列的性能优化。本培训尹老师总结和归纳多年Go语言工作经验,对Go语言技术的性能调优进行深入剖析,使学员从实操层面、架构层面到核心原理层面进行调优,并通过生动的案例展示优化过程与效果,调优的范围包括Go的GC,网络优化,性能优化工具介绍及其使用以及Go内存模型,常见性能优化手段,常用的系统及网络优化参考,使用不规范造成的性能问题,成功优化案例讲解等。

目标收益

1、Go语言性能优化,主要包括Go语言的GC、Go语言的性能优化工具介绍及其使用;
2、Go语言内存模型,常见性能优化手段;
3、Go语言网络优化、Go语言常用的系统及网络优化参考;
4、Go语言使用不规范造成的性能问题,成功优化案例讲解;

培训对象

1、本课程适合于Go语言开发工程师;
2、本课程适合于高级开发工程师、项目经理、技术总监;
3、本课程适合于企业技术管理人员;
4、本课程适合于IT运维人员;

课程大纲

Go语言性能优化 1、Go语言性能优化
2、Go语言性能优化主要方面
a)CPU性能优化
b)内存性能优化
c)堆栈性能优化
d)Goroutine性能优化
e)锁性能优化
f)网络性能优化
g)代码编写性能优化
h)架构设计性能优化
3、使用不规范造成的性能问题
4、实操演示:Go语言性能优化
Go语言的GC原理 1、Go语言的GC原理
2、什么是垃圾回收
3、内存泄露检测工具
4、智能指针
5、Golang的GC背景
6、Golang的GC相关问题
7、Go语言的GC特征
8、三色标记法
9、Mark and Sweep算法
10、三色标记法触发条件
11、三色标记法的具体过程
12、Golang中的GC是如何工作的
13、如何优化GC
14、硬性参数
15、使用gdb调优
16、减少对象分配尽量重用对象
17、函数编码参数调优
18、数组的空间规划
19、写代码时要避免要用string+操作
20、尽量复用小对象
21、局部变量尽量少声名
22、多个小对象可以放到一个结构体中
23、如何测量GC
24、案例:Go语言的GC案例
Go语言的性能优化工具介绍及其使用 1、Go语言的性能优化工具介绍及其使用
2、Go语言采集性能数据
3、Go语言内置采集程序运行数据的工具
4、runtime/pprof
5、net/http/pprof
6、利用runtime/pprof工具采集运行数据
7、利用runtime/pprof应用性能分析
8、利用net/http/pprof工具采集运行数据
9、利用net/http/pprof应用性能分析
10、获取函数占用的CPU以及内存资源
11、profiling报告保存到文件
12、CPU性能分析
13、开启CPU性能分析
14、停止CPU性能分析
15、使用go tool pprof工具进行CPU性能分析
16、内存性能优化
17、记录程序的堆栈信息
18、使用go tool pprof工具进行内存性能分析
19、实操演示:Go语言的性能优化工具介绍及其使用案例
Go语言内存模型 1、Go语言内存模型
2、常见的垃圾回收模型
3、引用计数(reference counting)
4、标记-清除(mark and sweep)
5、分代收集(generation)
6、GO语言的垃圾回收器
7、GO语言的垃圾回收器历史介绍
8、GO语言的内存回收存在的问题
9、Go程序内存占用大的问题
10、Go的垃圾回收触发阈值
11、操作系统采取“延迟回收”策略
12、GC时间长的问题
13、Goroutine内存泄露的问题
14、堆内存泄漏(Heap leak)
15、系统资源泄露(Resource Leak)
16、实操演示:Go语言内存模型案例剖析
Go语言常见性能优化手段 1、Go语言常见性能优化手段
2、go tool pprof命令
3、命令行交互界面
4、go tool pprof命令参数解读
5、图形化界面
6、安装graphviz图形化工具
7、go-torch和火焰图
8、火焰图(Flame Graph)
9、安装go-touch
10、安装FlameGraph
11、压测工具wrk
12、使用go-torch
13、pprof与性能测试结合
14、Gin框架中使用pprof
15、下载Gin框架专用pprof包
16、项目中添加Gin框架
17、编译并运行代码生成/debug/pprof的API
18、使用go tool pprof采集数据
19、go tool pprof命令行交互界面
20、实操演示:Go语言常见性能优化手段调优案例
Go语言网络优化 1、Go语言网络优化
2、服务型应用
3、WEB应用
4、使用net/http/pprof库分析HTTP服务
5、gin框架
6、HTTP服务的/debug/pprof endpoint
7、/debug/pprof/profile
8、/debug/pprof/heap
9、/debug/pprof/block
10、/debug/pprof/goroutines
11、实操演示:Go语言网络优化案例
Go语言常用的系统及网络优化参考 1、Go语言常用的系统及网络优化参考
2、Linux内核参数
3、硬性参数
4、系统运行参数设置
5、Go语言网络优化参考
6、使用gdb调优
7、实操演示:Go语言常用的系统及网络优化参考案例
Go语言使用不规范造成的性能问题 1、Go语言使用不规范造成的性能问题
2、Go语言代码编写不规范造成的性能问题
3、Go语言运行环境参数设置造成的性能问题
4、案例:Go语言使用不规范造成的性能问题
Go语言成功优化案例讲解 1、Go语言成功优化案例讲解
2、优化案例代码介绍
3、编译过程优化
4、代码优化
5、参数优化
6、案例:Go语言成功优化案例讲解
Go语言性能优化
1、Go语言性能优化
2、Go语言性能优化主要方面
a)CPU性能优化
b)内存性能优化
c)堆栈性能优化
d)Goroutine性能优化
e)锁性能优化
f)网络性能优化
g)代码编写性能优化
h)架构设计性能优化
3、使用不规范造成的性能问题
4、实操演示:Go语言性能优化
Go语言的GC原理
1、Go语言的GC原理
2、什么是垃圾回收
3、内存泄露检测工具
4、智能指针
5、Golang的GC背景
6、Golang的GC相关问题
7、Go语言的GC特征
8、三色标记法
9、Mark and Sweep算法
10、三色标记法触发条件
11、三色标记法的具体过程
12、Golang中的GC是如何工作的
13、如何优化GC
14、硬性参数
15、使用gdb调优
16、减少对象分配尽量重用对象
17、函数编码参数调优
18、数组的空间规划
19、写代码时要避免要用string+操作
20、尽量复用小对象
21、局部变量尽量少声名
22、多个小对象可以放到一个结构体中
23、如何测量GC
24、案例:Go语言的GC案例
Go语言的性能优化工具介绍及其使用
1、Go语言的性能优化工具介绍及其使用
2、Go语言采集性能数据
3、Go语言内置采集程序运行数据的工具
4、runtime/pprof
5、net/http/pprof
6、利用runtime/pprof工具采集运行数据
7、利用runtime/pprof应用性能分析
8、利用net/http/pprof工具采集运行数据
9、利用net/http/pprof应用性能分析
10、获取函数占用的CPU以及内存资源
11、profiling报告保存到文件
12、CPU性能分析
13、开启CPU性能分析
14、停止CPU性能分析
15、使用go tool pprof工具进行CPU性能分析
16、内存性能优化
17、记录程序的堆栈信息
18、使用go tool pprof工具进行内存性能分析
19、实操演示:Go语言的性能优化工具介绍及其使用案例
Go语言内存模型
1、Go语言内存模型
2、常见的垃圾回收模型
3、引用计数(reference counting)
4、标记-清除(mark and sweep)
5、分代收集(generation)
6、GO语言的垃圾回收器
7、GO语言的垃圾回收器历史介绍
8、GO语言的内存回收存在的问题
9、Go程序内存占用大的问题
10、Go的垃圾回收触发阈值
11、操作系统采取“延迟回收”策略
12、GC时间长的问题
13、Goroutine内存泄露的问题
14、堆内存泄漏(Heap leak)
15、系统资源泄露(Resource Leak)
16、实操演示:Go语言内存模型案例剖析
Go语言常见性能优化手段
1、Go语言常见性能优化手段
2、go tool pprof命令
3、命令行交互界面
4、go tool pprof命令参数解读
5、图形化界面
6、安装graphviz图形化工具
7、go-torch和火焰图
8、火焰图(Flame Graph)
9、安装go-touch
10、安装FlameGraph
11、压测工具wrk
12、使用go-torch
13、pprof与性能测试结合
14、Gin框架中使用pprof
15、下载Gin框架专用pprof包
16、项目中添加Gin框架
17、编译并运行代码生成/debug/pprof的API
18、使用go tool pprof采集数据
19、go tool pprof命令行交互界面
20、实操演示:Go语言常见性能优化手段调优案例
Go语言网络优化
1、Go语言网络优化
2、服务型应用
3、WEB应用
4、使用net/http/pprof库分析HTTP服务
5、gin框架
6、HTTP服务的/debug/pprof endpoint
7、/debug/pprof/profile
8、/debug/pprof/heap
9、/debug/pprof/block
10、/debug/pprof/goroutines
11、实操演示:Go语言网络优化案例
Go语言常用的系统及网络优化参考
1、Go语言常用的系统及网络优化参考
2、Linux内核参数
3、硬性参数
4、系统运行参数设置
5、Go语言网络优化参考
6、使用gdb调优
7、实操演示:Go语言常用的系统及网络优化参考案例
Go语言使用不规范造成的性能问题
1、Go语言使用不规范造成的性能问题
2、Go语言代码编写不规范造成的性能问题
3、Go语言运行环境参数设置造成的性能问题
4、案例:Go语言使用不规范造成的性能问题
Go语言成功优化案例讲解
1、Go语言成功优化案例讲解
2、优化案例代码介绍
3、编译过程优化
4、代码优化
5、参数优化
6、案例:Go语言成功优化案例讲解
提交需求