로드를 시뮬레이션하기 위해 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

도움이 되었기를 바랍니다!

관련 정보