Je me rends compte que de nombreuses questions similaires ont déjà été posées, mais jusqu'à présent, je n'ai pas encore trouvé de solution à mon problème.
J'ai un serveur Linux virtuel (exécutant Debian Squeeze) que j'utilise pour tester les vitesses des sites Web afin de mesurer l'augmentation et la diminution du temps de chargement desdits sites Web. J'essaie de limiter la bande passante et la latence de ce serveur afin d'être en mesure de se rapprocher des temps de chargement réels sur les sites Web, mais j'ai jusqu'à présent échoué.
Ce que je veux en particulier, c'est ce qui suit:
- Pour définir une latence entrante et sortante de 50 ms.
- Pour définir une limite de bande passante entrante de 512 kbps.
- Pour définir une limite de bande passante sortante de 4096 kbps.
J'ai lu sur netem et utilisé la tc
commande, mais c'est toujours un peu au-dessus de ma tête. J'ai réussi à assembler cette commande pour contrôler la latence qui semble fonctionner, mais je ne suis même pas sûr si cela ne gère que la latence sortante ou les deux:
tc qdisc add dev eth0 root netem delay 50ms
Des gourous du réseau qui pourraient m'aider?
Éditer:
Après de nouvelles recherches, j'ai atteint la moitié de mon objectif, en utilisant cette commande, tout le trafic sortant se comporte comme je le souhaite:
tc qdisc add dev eth0 root tbf rate 4.0mbit latency 50ms burst 50kb mtu 10000
Cependant, je n'ai toujours pas été en mesure de limiter correctement le trafic entrant. J'ai appris que je suis censé utiliser un "filtre Ingress Policer". J'ai essayé de faire exactement cela avec la commande ci-dessous, en jouant avec différentes valeurs, mais pas de chance.
tc qdisc add dev eth0 ingress
tc filter add dev eth0 parent ffff: protocol ip u32 match ip src 0.0.0.0/0 flowid :1 police rate 1.0mbit mtu 10000 burst 10k drop
La bande passante est cependant affectée par la commande, les valeurs ci-dessus font démarrer la vitesse à 2 Mo / s et, à mesure qu'un transfert progresse, descendant lentement à environ 80 à 90 Ko / s, qu'elle atteint après environ 30 secondes de transfert.
Des idées sur ce que je fais mal?
netem delay 50ms
ne limite pas la latence. Il augmente la latence par50ms
rapport à ce qu'elle aurait été autrement.