Je fais des benchmarks Comet et je voudrais voir combien de connexions ouvertes que j'ai.
En fait, j'utilise netstat:
netstat -ant | grep 8080 | grep EST | wc -l
Mais il a besoin d'environ 4-6 minutes pour répertorier le nombre, existe-t-il un outil qui peut le montrer en temps réel? Le nombre de connexions ouvertes est compris entre 100 000 et 250 000.
Je ne sais pas si lsof
est meilleur, mais essayez cela:
lsof -ni:8080 -sTCP:ESTABLISHED | wc -l
Si vous avez juste besoin de voir les statistiques de Connecon, essayez ss
utilitaire de iproute
Suite:
# 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
Vous pouvez également afficher des informations détaillées sur toutes les connexions établies comme celle-ci:
ss -n state established
... ou des connexions SSH uniquement:
ss -n state established '( dport = :ssh or sport = :ssh )'
Certains chiffres en bas de - cette page peut également vous intéresser.
Une autre option serait de lire directement /proc/net/tcp
Directement. Pour voir tous les connexions établies TCP sur, 8080, vous feriez quelque chose comme
$ printf %04X 8080
1F90
$ grep :1F90 /proc/net/tcp | grep ' 01 ' | wc -l
Si vous souhaitez le faire dans un seul processus (moins IO surcharge) et gérer les cas d'angle de coin, vous vous indique le nombre de connexions TCP établies dans le port local 8080:
$ Perl -anle '
$F[1] =~ /:1F90/ and $F[3] =~ /01/ and $cnt++;
END { print 0+$cnt }
' /proc/net/tcp
Si le logiciel de votre ordinateur à l'écoute de 8080 a une assistance IPv6, vous devez lire /proc/net/tcp6
Aussi; Si l'utilisation du programme des sockets IPv6, les connexions s'affichent même s'ils utilisent IPv4.
plus facile est
#netstat -at | wc -l
Il affichera le nombre de TCP connexion sur le système ...