L'idée de base derrière le sondage asynchrone
L'asynchronie permet d'augmenter considérablement le parallélisme du travail. Dans le cas de la communication réseau et de la récupération SNMP, les temps d'attente des réponses sont longs, ce qui permet au programme de faire quelque chose d'utile jusqu'à ce que la réponse arrive.
Il existe des moyens "synchrones" d'implémenter le parallélisme - forks, threads. C'est facile du point de vue de l'écriture d'un programme, mais c'est très « cher » en termes de ressources OS.
Un peu de maths
Les mathématiques seront d'ingénierie et approximatives, précision 20%
Je voulais interroger 100 000 appareils à l' aide de 100 métriques et interroger chaque appareil toutes les 5 minutes , avec une marge d'une fois par minute.
C'est-à-dire que vous devez enregistrer 10 millions de métriques par minute ou 150 000 par seconde. Je vais arrondir à 100 000 métriques par seconde.
L'interrogation d'une métrique prend environ 5 ms : 4 ms pour l'appareil, + 1 ms pour le traitement.
Cela signifie qu'un thread synchrone peut traiter 200 métriques par seconde, ou 500 threads synchrones sont nécessaires. Assez réaliste.
(Tout, la fin, il n'y a plus rien à écrire)
En fait, ce n'est que le début. L'astuce n'est pas dans l'idéalité du monde, mais dans la perte de réponses aux demandes.Les pertes se produisent en raison de la perte de trafic ou de l'inaccessibilité des appareils.
2 , «» 2000
3% . – , , .
, 3% 2000.
c 15,5 .
, 5 , 95 . , 125 800 . , .
– __ . – 800 , , .
, 3%, 20% 100% ?
,
– , – « X . , 10 , , 2 ».
, , 45%, 99% .
: 100% . , , 30 ? - 7 .
, , , Shared Memory . SNMP Net-SNMP
– ,
1 : « – , »
, ?
SNMP, , SNMP, , - :
:
, . , , , , -.
– – 2 , . :
, 100- .
– , , .
«» .
:
2 : «- »
, , . . . - , .
. : .
2-3 3-4 , .
, , . , .
3 : « »
, . , SNMP UDP .
, :
, , , , .
3.5 : « , »
«» . . .
.
, . , 3-4 2-4 .
– , - . . : , , , Net:SNMP.
, 60-70 . , , .
4 : « , »
, «» , .
4 , – , . , – .
4.0 , «» . :
– – – , , .
- . SNMP, 48 .
- . 2 100% 15 30 720 ! 30 48 .
, , , – IP RAW socket.
120-140 .
30-40 , , 50% .
:
1 4 2 . 2-3 -.
?
- « ».
, .
, 15 , «».
, - . – .
.