4 ms·
Agree with this being underwhelming. Maybe they'll hire someone who understands that Erlang is using kqueue to make this possible. Running netstat|grep like th
by mmaunder 15y ago
Agree with this being underwhelming. Maybe they'll hire someone who understands that Erlang is using kqueue to make this possible.
Running netstat|grep like this on a high concurrency server takes a long time to run. I've never found a faster way to get real-time stats on our busy servers and would be interested if anyone else has.
- derobert 15y agoYou might be able to parse /proc/net/tcp yourself faster, especially for just counting by state.
- X-Istence 15y ago/proc/net/tcp doesn't exist on FreeBSD...
- thomasknowles 15y agoActually I would run ss over the netstat for such high concurrency connection as netstat hits /proc/net/tcp and it's quite slow. However, you need to have the tcp_diag module loaded otherwise it falls back to /proc/net/tcp.
- X-Istence 15y agoYou may not have read the entire article, but he clearly explains that their tech stack is FreeBSD + Erlang not Linux + Erlang. There is no /proc/net/tcp on FreeBSD. Hell, there is no /proc unless it is specifically mounted by the administrator, but tools certainly don't use it to get data.
- thomasknowles 15y agoI read it, I just presume people most users are linux based in here.
- adient 15y agoYou may have tried but generally add -n to netstat to speed it up by just displaying IPs instead of trying to resolve them. I've never seen a system with so many concurrent connections hands on so there could be some other bottleneck.
- jen_h 15y agonetstat -s |grep "connections established" is pretty fast and does the job if you're not filtering for certain ports or IPs. But running plain old netstat on a system with so many connections is a really bad idea. I almost fired myself once over a crufty cron job I left running...