Ich versuche, einige Probleme in einer bereitgestellten Anwendung zu reproduzieren, in der der MSSQL-Server und der Client auf zwei separaten Computern ausgeführt werden. Ich denke, es kann Netzwerkprobleme zwischen den beiden Maschinen geben, daher möchte ich versuchen, diese Bedingungen auf zwei virtuellen Hyper-V-Maschinen (auf demselben virtuellen Server) zu reproduzieren. Natürlich ist das Netzwerk für diese virtuellen Maschinen "lokal", so dass es tatsächlich weit von den Bedingungen in einer Live-Umgebung entfernt ist.
Gibt es ein Programm, das ich auf einer der beiden virtuellen Maschinen ausführen kann und das die Netzwerkleistung beeinträchtigt? Oder vielleicht andere Workarounds? Eine Möglichkeit, die Bedingungen zu reproduzieren, besteht beispielsweise darin, die VMs auf separaten Hyper-V-Servern an geografisch verteilten Standorten auszuführen (der SQL-Verkehr geht also über VPN oder ähnliches) - dies ist jedoch meiner Meinung nach etwas langwierig. Es muss einen einfacheren Weg geben.
quelle
Eine weitere Methode ist das eigenständige Network Emulator Toolkit (NEWT), das trotz seines Alters durchaus in der Lage ist und für x86- und x64-Windows-Betriebssysteme funktioniert.
https://blog.mrpol.nl/2010/01/14/network-emulator-toolkit/
Mithilfe der im Installationsprogramm enthaltenen XML-Vorlagen können Sie schnell Latenz, Bandbreite, Jitter und andere Netzwerkvariablen simulieren.
Ich habe diese Anwendung auf allen Windows-Versionen von XP -> Windows 10 getestet und verwendet.
quelle
Klingt so, als ob Sie Netem brauchen
Sie können Paketverlust, Latenz, Jitter usw. Einfügen
quelle
Wenn es nur darum geht, Pakete zu verzögern, können Sie unter Linux einfach die Warteschlangendisziplinen tc und daisy-chain (z. B. HTB ) verwenden:
Verluste können auch mit iptables und dem
random
Modul eingeführt werden :quelle