負荷をシミュレートするためにApache httpサーバーのトランザクション速度を人為的に遅くする方法はありますか?

負荷をシミュレートするためにApache httpサーバーのトランザクション速度を人為的に遅くする方法はありますか?

負荷をシミュレートするためにApache httpサーバーのトランザクション速度を人為的に遅くする方法はありますか?

CPUを殺したり、他のプロセスに影響を与えたりすることなく、httpトランザクションが通常の3ミリ秒ではなく100ミリ秒以上かかるように強制する必要があります。

ベストアンサー1

短い答え

tc qdisc add dev <intf> root netem delay 100ms

詳しくは

NetEm(Wetwork Emulator)は、遅延、エラー、パケット損失など、さまざまな動作をトランスポートに導入できるTCベースのツールです。バラよりこのチュートリアル詳しくは

発信するすべてのパケットに遅延を追加するには、次のコマンドを使用できます。

tc qdisc add dev <intf> root netem delay <delay in ms>ms

はい

遅滞なく:

$ping 11.141.69.20
PING 11.141.69.20 (11.141.69.20) 56(84) bytes of data.
64 bytes from 11.141.69.20: icmp_seq=1 ttl=64 time=0.058 ms
64 bytes from 11.141.69.20: icmp_seq=2 ttl=64 time=0.068 ms

200ms遅延追加:

$tc qdisc add dev ens4f0 root netem delay 200ms

今:

$ping 11.141.69.20
PING 11.141.69.20 (11.141.69.20) 56(84) bytes of data.
64 bytes from 11.141.69.20: icmp_seq=1 ttl=64 time=200 ms
64 bytes from 11.141.69.20: icmp_seq=2 ttl=64 time=200 ms

次のようにデバイスのルールを表示できます。

$tc qdisc show dev ens4f0
qdisc netem 8001: root refcnt 161 limit 1000 delay 200.0ms

そして、ルールを削除して復元します。

$tc qdisc del dev ens4f0 root netem delay 200ms

削除後の回復遅延:

$ping 11.141.69.20
PING 11.141.69.20 (11.141.69.20) 56(84) bytes of data.
64 bytes from 11.141.69.20: icmp_seq=1 ttl=64 time=0.114 ms
64 bytes from 11.141.69.20: icmp_seq=2 ttl=64 time=0.076 ms

役に立ったことを願っています!

おすすめ記事