golang http client的MaxConnsPerHost限制
摘要:最近有一个压测的任务,首先使用gin写了一个http server,将请求数据写入到mysql,写入qps需要达到20K,当然,为了保险起见,使用了自己写的一个http client进行了压力测试,qps可以达到23K-25K的样子,然后就把这个http server部署到测试环境进行测试。 对于g
阅读全文
posted @
2021-01-20 10:32
月落无影
阅读(2293)
推荐(0)
go调度: 第三部分-并发
摘要:前言 这个是用来讲述go调度器机制和特性的第三部分. 这个主要关注并发. 博客三部分的顺序: 1) go调度: 第一部分-操作系统调度 2) go调度: 第二部分-go调度器 3) go调度: 第三部分-并发 介绍 当我在解决一个问题, 尤其是一个新问题的时候, 开始阶段, 我不会考虑并发是不是有用
阅读全文
posted @
2021-01-17 15:34
月落无影
阅读(181)
推荐(0)
go调度: 第二部分-go调度器
摘要:前言 这个博客是三部分中提供go调度器的语义和机制的部分. 博客三部分的顺序: 1) go调度: 第一部分-操作系统调度 2) go调度: 第二部分-go调度器 3) go调度: 第三部分-并发 介绍 在博客三部分中的第一部分, 我解释了操作系统调度器中对理解go调度器机制重要的方面. 在博客的这部
阅读全文
posted @
2019-05-28 19:40
月落无影
阅读(649)
推荐(0)
go调度: 第一部分-OS调度(操作系统调度)
摘要:开场白 这个是三篇博客中的第一篇, 用来提供go调度背后的机制和语法. 这篇博客主要关注操作系统调度. 三篇博客的顺序是: 1) go调度: 第一部分 - 操作系统调度 2) go调度: 第二部分 - go调度器调度 3) go调度: 第三部分 - 并发 介绍 go调度器的设计和行为使得你的多线程g
阅读全文
posted @
2019-05-22 22:15
月落无影
阅读(852)
推荐(0)
go data structures: Interfaces
摘要:用法 go的接口, 实现了类似于python这种动态语言的鸭子类型(duck typing)编程模式, 同时编译器会进行必要的检查, 可以发现当需要传入一个拥有Read方法的变量时, 而实际上传入了一个int类型. 为了使用接口, 你需要定义一个接口类型(假设这里的, ReadCloser): 然后
阅读全文
posted @
2019-05-16 23:17
月落无影
阅读(587)
推荐(0)
golang的channel实现
摘要:golang的channel实现位于src/runtime/chan.go文件。golang中的channel对应的结构是: 注:源码中的raceenabled表示是否启用race detector, 所以,如果你只需要了解channel的机制,可以忽略raceenabled的相关代码。当racee
阅读全文
posted @
2019-05-15 09:59
月落无影
阅读(1240)
推荐(0)
golang实现的简单优先队列
摘要:下面是golang实现的简单优先队列,参考信息可以查看https://golang.org/pkg/container/heap/或者https://golang.google.cn/pkg/container/heap/,后面这个网址也是官方提供的网址,关于这个网页的说明,可以参考https://
阅读全文
posted @
2019-04-26 07:54
月落无影
阅读(3272)
推荐(0)
gin的url查询参数解析
摘要:gin作为go语言最知名的网络库,在这里我简要介绍一下url的查询参数解析。主要是这里面存在一些需要注意的地方。这里,直接给出代码,和运行结果,在必要的地方进行分析。 代码1: 测试结果: 输出结果: curl "http://localhost:8080/getb?field_a=hello&fi
阅读全文
posted @
2019-04-11 22:32
月落无影
阅读(9073)
推荐(0)
将golang中变量重置为零的reflect方法
摘要:下面给出简单的代码,这里通过将变量重置为零来实现过滤字段的目的: 如果不希望使用二次映射,可以考虑使用reflect库中,Value结构体的FieldByName成员函数。
阅读全文
posted @
2019-01-31 12:03
月落无影
阅读(1227)
推荐(0)