baidu / dperf

dperf is a 100Gbps network load tester.
https://dperf.org
Apache License 2.0
4.93k stars 509 forks source link

怎样设置请求体和返回体? #438

Closed alongpan closed 5 months ago

alongpan commented 5 months ago

设置 payload,但是实际没有payload,是URL增加长度,是否可以随机在reqbody和respbody中增加数据包长度吗?

pengjianzhang commented 5 months ago

数据长度目前不能变化 请详细说明测试背景

alongpan commented 5 months ago

被测设备默认做4层统计,同时也支持解析body,取决是否开启。想测试开启body解析的情况下,看对整体性能的消耗。

pengjianzhang commented 5 months ago

http get request只有header没有Body,http response是有Body的 你是希望request有Body?

alongpan commented 5 months ago

换成http post是不是可以同时都有Body?

pengjianzhang commented 5 months ago

是的 现在还不支持post,这个特性在规划中

alongpan commented 5 months ago

现在可以临时在get response加上Body吗?

pengjianzhang commented 5 months ago

不能 因为get加body不符合规范 如果你非要这么做的话,只能走企业支持了

alongpan commented 5 months ago

好的,还有个问题请教。 设置payload_random后,url是随机了,但并不是每一个get都随机吗,有办法让每一次请求都不一样吗? 背景是我们存数据会做压缩,但如果每条流全都一样,压缩比会很高,跟用户场景不太符合,实际用户场景是不一样的。

alongpan commented 5 months ago

是的 现在还不支持post,这个特性在规划中

post的特性有大概的时间计划吗?

pengjianzhang commented 5 months ago

大概在第二季度

alongpan commented 5 months ago

好的

pengjianzhang commented 5 months ago

试一下这个分支 https://github.com/pengjianzhang/dperf/tree/post

配置方法: http_method POST payload_size 1K

alongpan commented 5 months ago

可以了,但是现在payload都是一摸一样的,可以每个包不一致吗?或者多久切换一次也可以 dperf_post

pengjianzhang commented 5 months ago

暂时做不到 可以考虑: 方案1: 每个CPU有若干种长度的报文,轮流发 方案2:每个CPU发一种长度的报文,每个CPU的长度不一样

alongpan commented 5 months ago

方案1可以的,方案2可能会需要配置较多的cpu。url是否也可以通过方案1这种方式,配置不同的url,轮流发?

pengjianzhang commented 5 months ago

你可以用其他工具如ab, hey, wrk发一些不一样的流量,作为补充

alongpan commented 5 months ago

好的,多谢

pengjianzhang commented 5 months ago

请向周围小伙伴推荐、宣传一下dperf 谢谢

alongpan commented 5 months ago

好的