-
Notifications
You must be signed in to change notification settings - Fork 18k
net: mass tcp dial timeout with the concurrency more than 10000 #32761
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
|># cat /proc/sys/net/ipv4/tcp_max_syn_backlog |
Does this also happen with go 1.11? For server part, presumably. |
@av86743 I don't have go 1.11, You can try it. |
You must test your code with latest version of go 1.11 and provide results, in order to to make your request meaningful and yourself helpful to Go community. |
@av86743 The lastest version is 1.12.6, not 1.11. |
I also tested it at go 1.10.8. It got the same result. I don't think it's related to the version, It seems to be related to performance bottlenecks. |
Provided server source won't even compile. |
I put the Server output at "What did you see instead?"
"Provided server source won't even compile."
|
Looks somewhat similar to #35407 |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
My tested code:
Server:
Client:
The cmd: ./Test -a 127.0.0.1:8888 -c 10000 -t 3
╰─># cat /proc/sys/net/ipv4/ip_local_port_range
4096 65535
╰─># ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 386849
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 10000000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1000000
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
╰─># free -h
total used free shared buffers cached
Mem: 94G 85G 9.3G 2.0M 54M 42G
-/+ buffers/cache: 42G 51G
Swap: 0B 0B 0B
╰─># lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-26xx v4
Stepping: 1
CPU MHz: 3192.606
BogoMIPS: 6385.21
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0-15
NUMA node1 CPU(s): 16-31
What did you expect to see?
no tcp dial timeout.
What did you see instead?
dialog err: dial tcp 127.0.0.1:8888: i/o timeout i为3:
dialog err: dial tcp 127.0.0.1:8888: i/o timeout i为3:
dialog err: dial tcp 127.0.0.1:8888: i/o timeout i为3:
dialog err: dial tcp 127.0.0.1:8888: i/o timeout i为3:
The text was updated successfully, but these errors were encountered: