Как контролировать производительность сети для каждого приложения в FreeBSD / ПК-BSD?

После отслеживания вокруг различных форумов и некоторое сообщение Переполнения стека я нашел проблему.

Вот объяснение, чтобы лучше понять и 'видеть' первопричину ошибок.

Прежде всего, если Вы - написание кода в Windows, лучшая рука сами с Блокнотом ++. Это - в основном швейцарский нож текстовых редакторов, по-моему.

Теперь, чтобы взглянуть на EOL (конец строки) символы и другие символы управления делают следующее:

1. Откройте файл в Блокноте ++.

Выберите Представление> Выставочный Символ> Шоу Все Символы от Строки меню

Необходимо теперь видеть символы следующим образом: Screenshot of Notepad++:Editing a UNIX script on Windows

Ага! Windows/MS-DOS использует CR+LF для указания на конец строк. Теперь UNIX использует символ LF для указания на линейное окончание (символ EOL).

2.1. Давайте преобразуем Windows EOL в UNIX EOLs:

Выберите РЕДАКТИРОВАНИЕ> Преобразование EOL> Формат UNIX

Необходимо видеть что-то вроде этого:

Screenshot of Notepad++: EOL Conversion to UNIX Format Это объясняет, почему мы видели, что '\r' символ был добавлен в конце строки. Это вызвано тем, что UNIX распознал '\n' или LF (перевод строки) как линейное окончание / символ EOL, но проигнорируйте '\r' или ^M (возврат каретки) символ.

Мы можем также протестировать на выпуск EOL

bash-3.00$ head myScript.sh | cat -vet | head -1
#usr/bin/bash^M$
bash-3.00$ #We see that ^M, that is \r is found at the end of each line. 

2.2. Если Вы хотели бы, преобразовывают файл от Windows до UNIX формат EOL на UNIX затем существует два способа зафиксировать это:

$ dos2unix myScript.sh

или

Используйте решение, предоставленное @Chris Вниз как указано ниже:

$ sed -i 's/\r$//' myScript.sh

Ссылки:

  1. Для получения дополнительной информации о линейном окончании и what-is-the-difference-between-r-and-n отсылают эти ссылки.

1
15.11.2013, 19:07
2 ответа

Вы могли дать ему попытку в jnettop: http://sourceforge.net/projects/jnettop/ - http://www.freshports.org/net-mgmt/jnettop/, но информация об идентификаторе процесса должен отсутствовать.

С iftop у Вас мог быть подробный отчет о пропускной способности (iftop -i re0 -N -P), но Вы не будете видеть (снова) идентификатор процесса определенного сетевого трафика. Необходимо будет вывести, какой трафик связан с какой программное обеспечение.

Существует названный инструмент nethogs на Linux, но начиная с него heavly зависит от /proc не могло быть тривиальным для портирования его на FreeBSD - http://marc.info/?l=freebsd-questions&m=127092700612560&w=2

1
27.01.2020, 23:39
A || B ; C

Если A выходит с ненулевым статусом, запуск B. C выполняется безоговорочно

A ; B || C

запуск A. Затем запуск B. Если выход B выполняется с ненулевым статусом, запуск C


Тангиально, вы иногда увидите A & & B | | C . Обычно предполагается, что он является кратким для , если А; затем В; else C; fi . Однако существует одно основное различие:

A && B || C
  • Если A не удается, выполните C
  • , если A успешно, затем выполните B.
    • при сбое B выполните C
if A; then B; else C; fi
  • При сбое A выполните C
  • при успешном завершении A, затем выполните B.
    • Если ошибка В, C НЕ выполняется

Демонстрация:

$ (echo A; exit 0) && (echo B; exit 1) || (echo C; exit 2); echo $?
A
B
C
2     # <== the exit status of C

$ if (echo A; exit 0); then (echo B; exit 1); else (echo C; exit 2); fi; echo $?
A
B
1     # <== the exit status of B
-121--209804-

Все. limit match не имеет дополнительных квалификаций.

Соответствие hashlimit является более конфигурируемым.

iptables-расширения через man iptables .

Следует отметить, что многие «пользователи» могут находиться за одним IP (NAT, http proxy, CGNAT).

Я понятия не имею, какая будет здесь лучшая практика. Но эта реализация не кажется полезной, поскольку HTTP поддерживает постоянные соединения. Апач mod_evasive было бы лучше с этой точки зрения.

Если вы не используете постоянные подключения, вы будете немедленно заблокированы с этим лимитом. Средний веб-сайт загружает 100 ресурсов (!)

-121--166712-

Практически любое обычное сетевое средство Unix, о котором вы знаете, доступно на FreeBSD, включая nmap, ntop и множество других, ни о чем я сейчас не могу думать.

1
27.01.2020, 23:39

Теги

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