tsenart / vegeta

HTTP load testing tool and library. It's over 9000!
http://godoc.org/github.com/tsenart/vegeta/lib
MIT License
23.42k stars 1.36k forks source link

ipv6 is being used on a client machine when not supported #677

Closed jwendel closed 2 months ago

jwendel commented 8 months ago

Version and Runtime

Version: v12.11.1 Commit: 6fbe391628eeeae1adf39522a55078797e6e7f2e Runtime: go1.20.8 windows/amd64 Date: 2023-10-02T09:05:14Z+0000

Expected Behaviour

attack to work

Actual Behaviour

Errors related to IPv6.

>vegeta report caddy.bin
Requests      [total, rate, throughput]         801687, 26706.74, 19.04
Duration      [total, attack, wait]             30.153s, 30.018s, 134.511ms
Latencies     [min, mean, 50, 90, 95, 99, max]  29.999ms, 165.779ms, 171.123ms, 245.474ms, 281.241ms, 583.789ms, 1.44s
Bytes In      [total, mean]                     661822, 0.83
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           0.07%
Status Codes  [code:count]                      0:801113  200:574
Error Set:
Get "https://is.xivup.com/v2indexdata": dial tcp 0.0.0.0:0->[2600:3c00::f03c:92ff:fef2:8edf]:443: connectex: A socket operation was attempted to an unreachable network.

Steps to Reproduce

host.txt:

GET https://is.xivup.com/v2indexdata
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Referer: https://is.xivup.com/v2
Sec-Ch-Ua: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Windows"
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
  1. command: cat host.txt | vegeta attack -workers 1000 -rate 0 -max-workers 6000 -http2=false -keepalive=false -duration=30s

Additional Context

I'm on a Windows 10 machine that does not have an IPv6 internet connection. The host I'm trying to connect to advertises both A and AAAA records. It seems Vegeta is picking IPv6 network address much of the time, which results in errors.

I also downgraded to v12.11.0 and the above problem went away. Though, I now get a crash 50% of the time, which looks exactly like https://github.com/tsenart/vegeta/issues/649. https://github.com/tsenart/vegeta/commit/6fbe391628eeeae1adf39522a55078797e6e7f2e seems to have fixed the crashing if the order of IP addresses come in different orders, but it seems Vegeta will cache only the IPv6 address in some cases, which causes near 100% error rate.

penghian commented 7 months ago

im having the same issue your suggestion of downgrading works for me thanks

tsenart commented 2 months ago

Released https://github.com/tsenart/vegeta/releases/tag/v12.11.2

tsenart commented 2 months ago

Whoops, this one https://github.com/tsenart/vegeta/releases/tag/v12.11.3