guonaihong

Results 124 comments of guonaihong

> https://en.wikipedia.org/wiki/MinHash 这个也可以集成下,我们之前用于文档的相识度,用这个比较的 可以。

#### v0.0.10版本之前的功能 1. 支持不同类型的struct之间的复制(这是v0.0.10就实现的功能)。 2. 结构体里面的字段类型相同,名字一样 3. 如果是指针类型,解引用,满足第上面一条原则也行。 #### v0.1.0 实现的 1. 相比基于纯reflect的版本提升4-10性能(已实现) 2. 接下来这个版本的重点只会是bugfix。功足能够稳定,能满足日常工作的场景,才会开启下一轮优化 next大版本(近期不会做) 1. 性能再提升一倍

我知道了,和User-Agent http header有关系。 临时做法,可以通过SetHeader修改这个字段的默认值。 ```go SetHeader(gout.H{"User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) "}) ```

ja3没玩过,可否聊下,能解决的问题。以及是否需要从零开发协助库。

看了下现有实现,目前压测模式只支持编码器(SetXXX系列的函数), 不支持解码器(BindXXX系列函数), 不过这个需求我想想,看怎么实现。

对于“在我使用jmeter进行压力测试的时候,一开始还好好的,但是到了后面就发生了异常,报错内容为EOF。” 我理解下,你的服务端是goalng 写的http服务,使用jmeter进行压力测试,里面有段代码是用gout进行了转发?压力太多,出现EOF的问题?

gout请求的服务端也是golang写的吗?还是nginx的?

eof一般是对端关闭连接。往这个思路走,你可以先控制下变量,比如jmeter直接压springboot有没有这个现象。 如果有: 就看下springboot。 没有的话:我这边再分析下。 上面提的req.close = true 不建议使用,会让http 1.1的协议会退化成http 1.0一个tcp一个http连接(http 2.0没试过)。对服务端或者客户端来说会占用更多的tcp资源。

你修改下gout代码,先开大http client的连接池个数。试下可有改善。 ```go gout.New(&dataflow.DefaultBenchClient).POST(config.Url). SetProxy(config.Proxy). SetTimeout(30 * time.Second). Debug(true). SetHeader(head). Code(&request.ResultCode). SetBody(&request.ResultBody). Do() ```