Есть ли способ искусственно замедлить транзакции HTTP-сервера Apache для имитации нагрузки?

Для этого можно использовать Midnight Commander .

Это очень простая установка в Solaris 11:

$ pkg install pkg:/file/mc

Теперь, чтобы просмотреть/отредактировать файл, просто выполните:

$ mc -v foo.bar

Это «покажет» файл. Теперь нажмите F2 . Это приведет вас в шестнадцатеричном режиме (к режиму просмотра ). Затем нажатие F2 позволит вам редактировать.. в шестнадцатеричном режиме.

В приведенном ниже примере я редактирую случайный файл в шестнадцатеричном формате :Midnight Commander Hex Edit

Что касается преобразования int/float между прямым порядком байтов и прямым порядком байтов, это не то, что может сделать Midnight Commander, но для этого есть пара бесплатных онлайн-инструментов. Вот один пример .

0
21.11.2019, 00:30
1 ответ

Краткий ответ

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

Подробнее

NetEm (Эмулятор Wetwork )— это инструмент на основе 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

Добавление задержки 200 мс:

$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

Надеюсь, это поможет!

0
29.03.2020, 21:26

Теги

Похожие вопросы