Open zekronium opened 3 months ago
Please share your configuration and usage.
gost -L http://:$port?interface=$interface -L http://:$port?interface=$interface -L http://:$port?interface=$interface...
thats it, we bind different ports to different interfaces on the local machine. In some cases have tested with thousand plus ports/interfaces bound. In every case port and interface is unique.
I'm not sure if this problem is caused by high concurrency or timeout, so I need more detailed runtime information. Can you start GOST with profiling enabled?
GOST_PROFILING=:6060 gost -L http://:$port?interface=$interface ...
then go to http://localhost:6060/debug/pprof/ and monitor the goroutine and threadcreate.
I managed to capture this last screenshot before it dying. It had about 12k goroutines. Used this version 3.0.0-nightly.20240806
Maybe we can simply disable timeout, since in this case both the receiving server and the client both control their timeouts. Should a proxy be opinionated about when to time out?
Maybe possible to use a timer that does not make a platform thread?
You can disable the timeout by setting a negative value:
gost -L http://:8080?dialTimeout=-1
Hi,
There seems to be some sort of an issue, with about 1000 connections it starts to panic
We are running on a 16 core server with 64gb ram on unix.
We are also opening many different ports via gost instead of one, which could explain the potential scaling issue