![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
文章平均质量分 78
tom3mao
后端技术专家
展开
-
glang context踩坑:context过期
目录context canceled by businesschild ctx拷贝一份context结论context canceled by business报错来自自研微服务框架。简化如下,微服务框架判断context的超时时间,若超时直接返回错误不调用远程服务。case <-ctx.Done(): return nil, makeTimeoutErr(ctx, rpcInfo, start)ctx.Done()返回的管道因为超时被关闭...原创 2021-08-14 10:30:36 · 2414 阅读 · 0 评论 -
使用go进行单台机器压测
目录自助压测系统的局限为什么不使用Java基于go的简单实现自助压测系统的局限公司已经有基于集群实现的自助压测系统,自助压测系统压的是整个集群, 不方便对单台进行压测,有时候只压某一台即可定位问题。为什么不使用Java压测需要模拟多线程并发,在 JVM 中线程上下文的切换是很慢的使用操作系统的 threads 的最大能力一般在万级别,主要消耗是在上下文切换的延迟。Java 只允许数千级别的 threads。Goroutines是一种由 Go 运行时系统管理的“..原创 2021-04-11 22:40:47 · 348 阅读 · 0 评论 -
IntelliJ IDEA、GoLand内存优化
目录IDE偶发性崩溃祭出ZGC注意IDE偶发性崩溃自从工作开发语言从Java切换到golang,每天就跟goland打交道,goland说白了就是idea套个壳子,都基于一个内核,基于Java开发的。为了便于理解,这里用idea指代goland。Find Usages是我最常用的功能之一,选择某个函数或者声明查看被使用的地方。Find Usages底层就是基于抽象语法树解析源码,解析sdk,解析第三方包,涉及大量文件读取、字符串解析,堆内存压力很大。尤其是同时打开多个项目、多个.原创 2021-08-09 00:53:30 · 7644 阅读 · 1 评论