負荷をシミュレートするために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
役に立ったことを願っています!