SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

clumsy を使用して Windows でネットワーク遅延を発生させる

leave a comment

SQL Server に対して実行するクエリについて、実行元から SQL Server に対してネットワーク遅延がある場合、実行されたクエリの処理時間はどのように記録されるのかを確認したいケースがありました。

実行元は Hyper-V の仮想マシンで実行しているので帯域制限については、ある程度はネットワークアダプターの帯域幅管理でも実現はできるのですが、明示的にネットワークに遅延を発生させることはできません。

Linux であれば、tc を使用して netem で実行することができそうですが、Windows 環境で手軽に実行したいと思った場合にどのように実行するのかを探してみたところ、clumsy というツールを使用することで実現ができました。

clumsy は、WinDivert を使用した GUI によりネットワークトラフィックの低下を発生させることができるツールです。

フィルターについてもサポートされており、WinDivert の WINDIVERT_IPHDR でどのトラフィックに対して遅延を発生させるかも制御することができます。

image

「10.40.0.4」 は SQL Server に対してクエリを実行する端末となるのですが、この端末に対して In / Out のそれぞれで 500ms の遅延を発生させる設定をしています。

image

In/Out のそれぞれで 500ms の遅延が発生しますので実行時間は 1 秒になっていますね。

clumsy を使用することで、Windows 環境でも、手軽にネットワーク遅延を発生させることができました。

Share

Written by Masayuki.Ozawa

3月 15th, 2023 at 5:09 pm

Posted in Windows

Tagged with

Leave a Reply