나는 혜성 벤치 마크를하고 있으며 얼마나 많은 열린 연결이 있는지 알고 싶습니다.
실제로 netstat를 사용합니다.
netstat -ant | grep 8080 | grep EST | wc -l
그러나 숫자를 나열하는 데 약 4-6 분이 필요합니다. 실시간으로 표시 할 수있는 도구가 있습니까? 열린 연결 수는 100’000-250’000입니다.
답변
lsof
더 나은지 모르겠지만 시도해보십시오.
lsof -ni:8080 -sTCP:ESTABLISHED | wc -l
답변
연결 통계 만 보려면 제품군 ss
에서 유틸리티를 사용해보십시오 iproute
.
# ss -s
Total: 1788 (kernel 3134)
TCP: 1638 (estab 1409, closed 162, orphaned 0, synrecv 0, timewait 127/0), ports 0
Transport Total IP IPv6
* 3134 - -
RAW 0 0 0
UDP 74 69 5
TCP 1476 1444 32
INET 1550 1513 37
FRAG 0 0 0
또한 다음과 같이 설정된 모든 연결에 대한 자세한 정보를 볼 수 있습니다.
ss -n state established
… 또는 ssh 연결 만 :
ss -n state established '( dport = :ssh or sport = :ssh )'
답변
다른 옵션은 /proc/net/tcp
직접 읽는 것 입니다. 8080에서 설정된 모든 TCP 연결을 보려면 다음과 같이하십시오.
$ printf %04X 8080
1F90
$ grep :1F90 /proc/net/tcp | grep ' 01 ' | wc -l
단일 프로세스 (IO 오버 헤드가 적음)로 처리하고 코너 사례를 처리하려는 경우 다음은 로컬 포트 8080이있는 ESTABLISHED TCP 연결 수를 나타냅니다.
$ perl -anle '
$F[1] =~ /:1F90/ and $F[3] =~ /01/ and $cnt++;
END { print 0+$cnt }
' /proc/net/tcp
8080을 수신하는 컴퓨터의 소프트웨어가 IPv6을 지원하는 경우 읽어야 /proc/net/tcp6
합니다. 프로그램이 IPv6 소켓을 사용하는 경우 IPv4를 사용하더라도 연결이 표시됩니다.
답변
더 쉬운
#netstat -at | wc -l
시스템의 TCP 연결 수를 표시합니다 …