По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Задержка в сети, или сетевая задержка, - это временная задержка при передаче запросов или данных от источника к адресату в сетевой экосистеме. Давайте посмотрим, как вы можете выявить и устранить задержку в сети.  Любое действие, которое требует использование сети, например, открытие веб-страницы, переход по ссылке, открытие приложения или игра в онлайн-игру, называется активностью. Активность пользователя – это запрос, а время отклика веб-приложения – это время, которое требуется для ответа на этот запрос.  Временная задержка также включает в себя время, которое сервер тратит на выполнение запроса. Таким образом, временная задержка определяется как круговой путь – время для записи, обработки и получения пользователем запроса, где он уже декодируется.  Понятие «низкое значение задержки» относится к относительно недлительным временным задержкам при передаче данных. А вот длительные задержки, или чрезмерные задержки, не слишком приветствуются, так как они ухудшают процесс взаимодействия с пользователем.  Как исправить задержку в сети? На просторах Интернета есть большое количество инструментов и программных средств, которые могут помочь в анализе и устранении неполадок в сети. Некоторые из них платные, некоторые бесплатные. Впрочем, есть инструмент под названием Wireshark – бесплатное приложение с общедоступной лицензией, которое используется для перехвата пакетов данных в режиме реального времени. Wireshark – это самый популярный и самый часто используемый в мире анализатор сетевых протоколов. Это приложение поможет вам перехватывать сетевые пакеты и отображать их детальную информацию. Вы можете использовать эти пакеты для проведения анализа в режиме реального времени или в автономном режиме после того, как сетевые пакеты уже будут перехвачены. Это приложение поможет вам исследовать сетевой трафик под микроскопом, фильтруя и углубляясь в него в попытках найти корень проблемы. Оно помогает с сетевым анализом, и, как следствие, с сетевой безопасностью.  Что может вызывать задержку в сети? Есть несколько основных причин медленного сетевого подключения. Вот некоторые из них: Большая задержка Зависимости приложений Потеря пакетов Перехватывающие устройства Нерациональные размеры окон В данной статье мы рассмотрим каждую из вышеприведенных причин задержки в сети, а также посмотрим, как можно решить эти проблемы с помощью Wireshark. Проверка с помощью Wireshark Большая задержка Понятие «большая задержка» подразумевает время, которое требуется для передачи данных от одной конечной точки к другой. Влияние большой задержки на передачу данных по сети очень велико. На приведенной ниже диаграмме в качестве примера показано время кругового пути при загрузке файла по пути с высокой задержкой. Время задержки кругового пути часто превышает одну секунду, что является недопустимым.  Перейдите к разделу Wireshark Statistics. Выберите опцию TCP stream graph. Выберите Round Trip time graph, чтобы посмотреть, сколько времени необходимо для загрузки файла.  Wireshark используют для расчета времени кругового пути для того, чтобы определить, это ли является причиной плохой работы коммуникационной сети протокола управления передачей (TCP - Transmission Control Protocol). TCP используется для разных целей, например, для просмотра веб-страниц, передачи данных, протокола передачи файлов и многого другого. В большинстве случаев операционную систему можно настроить так, чтобы на каналах с большой задержкой она работала более эффективно, особенно когда хосты используют Windows XP. Зависимости приложений Некоторые приложения имеют зависимости, то есть они зависят от каких-то других приложений, процессов или от обмена данными с хостом. Допустим, что ваше приложение – это база данных, и оно зависит от подключения к другим серверам, которое необходимо для получения элементов базы данных. В таком случае слабая производительность на этих «других серверах» может негативно повлиять на время загрузки локального приложения.  Рассмотрим, например, просмотр веб-страниц при условии, что целевой сервер ссылается на несколько других веб-сайтов. Например, чтобы загрузить главную страницу сайта  www.espn.com , вы должны сначала посетить 16 хостов, которые обеспечивают главную страницу рекламой и наполнением.  На приведенной выше картинке показано окно «HTTP/Load Distribution» в Wireshark. В нем отображается список всех серверов, которые использует главная страница сайта  www.espn.com .  Потеря пакетов Потеря пакетов – это одна из самых часто встречающихся проблем в сети. Потеря пакетов происходит, когда пакеты данных неправильно доставляются от отправителя к получателю через Интернете. Когда пользователь посещает некий веб-сайт и начинает загружать элементы сайта, потерянные пакеты вызывают повторную передачу, что увеличивает скорость загрузки веб-файлов и замедляет при этом общий процесс загрузки.  Более того, потеря пакетов оказывает крайне негативное влияние на приложение, когда оно использует протокол TCP. Когда TCP-соединение обнаруживает потерянный пакет, то скорость передачи данных автоматически снижается, чтобы компенсировать сетевые проблемы.  Потом скорость постепенно восстанавливается до более приемлемого уровня до следующего потерянного пакета, что снова приведет к существенному снижению скорости передачи данных. Загрузка объемных файлов, которая должна была легко проходить по сети, если бы не было потерянных пакетов, теперь заметно страдает от их наличия.  Что это значит – «пакет потерян»? Это неоднозначный вопрос. Если программа работает через протокол TCP, то потеря пакетов может быть обнаружена двумя способами. В первом варианте получатель отслеживает пакеты по их порядковым номерам и, таким образом, может обнаружить отсутствующий пакет. В таком случае клиент делает три запроса на этот отсутствующий пакет (двойное подтверждение), после чего он отправляется повторно. Во втором варианте потерянный пакет обнаруживает отправитель, когда понимает, что получатель не подтвердил получение пакета данных, и по истечении времени ожидания отправляет пакет данных повторно.  Wireshark указывает, что произошла перегрузка сети, а многократные подтверждения провоцируют повторную передачу проблематичного трафика, который выделен цветом. Большое количество продублированных подтверждений указывают на то, что пакет(ы) были потеряны, а также на существенную задержку в сети.  Для того, чтобы повысить производительность сети, важно определить точное место потери пакетов. Когда Wireshark обнаружил потерю пакетов, он начинает перемещаться по пути следования пакетов до тех пор, пока не найдет место их потери пакетов. На данный момент мы находимся «у истоков» точки потери пакетов, поэтому знаем, на чем нужно сосредоточиться при отладке.  Перехватывающие устройства Сетевые перехватчики – это связующие устройства, такие как коммутаторы, маршрутизаторы и брандмауэры, которые заняты выбором направления передачи данных. При потере пакетов эти устройства необходимо проверить, потому что они могли стать причиной утери.  Задержка может возникнуть при работе этих связующих устройств. Например, если установлен приоритет трафика, то дополнительная задержка может возникнуть в потоке с низким уровнем приоритета.  Неэффективные размеры окон Вдобавок к операционной системе Windows, в сетях TCP/IP есть и другие «окна». Скользящее окно Окно получателя Окно отслеживания перегрузок сети Все эти окна совместно отражают производительность сети на основе протокола TCP. Давайте посмотрим, что из себя представляет каждое из этих окон, и определим, как они влияют на пропускную способность сети.  Скользящее окно Скользящее окно используется для широковещательной передачи последующих TCP-сегментов по сети по мере подтверждения данных. Как только отправитель получает подтверждение о том, что получатель получил переданные фрагменты данных, скользящее окно расширяется. До тех пор, пока в сети не обнаружатся потерянные данные, передавать можно достаточно большие объемы данных. При потере пакета скользящее окно сжимается, так как сеть уже не может справиться с таким большим объемом данных.  Окно получателя Окно получателя TCP-стека – это пространство буфера. Когда данные получены, они сохраняются в этом буферном пространстве до тех пор, пока приложение их не перехватит. Окно получателя начинает заполняться, когда приложение не успевает принимать данные, что приводит к сценарию «нулевого окна». Когда получатель объявляет о состоянии «нулевого окна», вся передача данных на хост должна быть остановлена. Пропускная способность падает до нуля. Метод масштабирования окна (RFC 1323) позволяет хосту увеличить размер окна получателя и снизить вероятность наступления сценария «нулевого окна».  На приведенной выше картинке продемонстрирована 32-секундная задержка сетевого соединения из-за сценария «нулевого окна». Окно отслеживания перегрузок сети Окно отслеживания перегрузок сети определяет максимально возможный объем данных, с которым может справиться сеть. На это значение влияют следующие факторы: скорость передачи пакетов отправителя, количество потерянных пакетов в сети и размер окна получателя. В процессе корректной работы сети окно постоянно увеличивается до тех пор, пока передача данных не завершится или пока она не достигнет «потолка», установленного работоспособностью сети, возможностями передачи отправителя или размером окна получателя. Каждое новое соединение запускает процедуру согласования размера окна заново.  Рекомендации для хорошей работоспособности сети Изучите, как можно использовать Wireshark в качестве меры первой помощи, чтобы можно было быстро и эффективно находить источник низкой производительности Определите источник задержки в сети и по возможности сократите ее до приемлемого уровня Найдите и устраните источник потери пакетов Проанализируйте размер окна передачи данных и по возможности уменьшите его Проанализируйте производительность перехватывающих устройств для того, чтобы посмотреть, увеличивают ли они задержку или, возможно, отбрасывают пакеты Оптимизируйте приложение, чтобы оно могло передавать большие объемы данных и, если это возможно, извлекать данные из окна получателя  Заключение В данной статье мы рассмотрели самые основные причины проблем с производительностью сети. Но есть один немаловажный фактор, который просто нельзя упускать, - это непонимание того, как работает передача данных по сети. Wireshark предоставляет визуализацию сети так же, как рентген или компьютерная томография, которая предоставляет визуализацию человеческого тела для точной и быстрой диагностики. Wireshark стал критически важным инструментом, который способен помочь в обнаружении и диагностике проблем в сети.  А теперь проверьте и устраните проблемы с производительностью своей сети с помощью нескольких фильтров и инструментов Wireshark.
img
Если PowerShell кажется вам сложным для использования его для повседневных задач, "круто" может быть не тем словом, которое у вас ассоциируете с ним. Но PowerShell является основной частью Exchange, Windows Server и SQL Server, и он обладает огромными возможностями, которые мы все должны понять, принять и использовать, чтобы облегчить и автоматизировать наши текущие дела. Я собираюсь немного поразвлечься и показать вам несколько хитростей, которые определенно пригодятся вам в решении нудных задач на работе. Кроме того, вы будете выглядеть намного круче в глазах ваших коллег, когда сможете решить проблему из командной строки. Согласитесь, это выглядит привлекательно, чем щелкать правой кнопкой мыши и что-то исправлять. Будьте очень осторожны так как это инструмент достойный своего названия (Power – Сила, Shell – Оболочка). PowerShell может легко вызвать массовые изменения конфигурации, как положительные, так и отрицательные, поэтому для безопасности создайте тестовую или лучше всего виртуальную среду для вашего обучения и тестирования. Если вы будете тестировать у себя на компьютере, то создайте точку восстановления системы. Чтобы во время выполнения одной из следующих команд что-то пойдет не так, вы всегда могли восстановить свой компьютер. 10 крутых вещей, которые можно сделать с помощью Windows PowerShell 1: Отчёты о подключённых USB оборудованиях PowerShell даёт возможность работать с Windows Management Instrumentation (WMI). С помощью PowerShell, вы можете сделать WMI - запрос для получения информации о USB - устройствах, которые установлены как на локальной, так и на удаленных системах. gwmi Win32_USBControllerDevice -computername DBSERVER1 |fl Antecedent,Dependent В данной команде будет применен фильтр возврата предшествующих и зависимых полей с компьютера DBSERVER1. Если вы хотите получить полную информацию о USB-устройствах в системе, вы можете убрать оператор | и fl. Это весьма удобный способ для ведения отчётов по серверам, к которым подключены USB - устройства с лицензией. 2: Выполнение ваших любимых задач CMD в PowerShell Да, вы можете перестать использовать командную строку (CMD) и начать выполнять все те же задачи в PowerShell. Это поможет сделать процесс обучение немного проще и помочь вам лучше ознакомиться с интерфейсом. К сожалению, PowerShell невозможно вызвать через окно «выполнить» с помощью трёх букв, подобно CMD. Но вы можете назначить сочетание клавиш для быстрого запуска PowerShell, например, Ctrl + Shift + P. 3: Принудительное завершение процесса в PowerShell Если зависла какая-то служба Windows, вы можете использовать PowerShell для завершения процесса так же, как и через Диспетчер Задач. Например, для закрытия BadThread.exe, вы делаете следующее: get-process BadTh* Результаты выведут нам нужные данные в таком формате: Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 19 5 -321955 -312219 -154 32.76 7583 BadThread После того, как мы идентифицируем Process ID, вы можете принудительно закрыть зависший процесс введя команду: stop-process -id 7583 В тот же момент процесс BadThread будет принудительно остановлен, и вы сможете возобновить попытку запуска службы. Которую можете сделать прямо здесь, в PowerShell. 4: Используйте PSDrive для большего, чем просто просмотр дисков Команда PSDrive позволяет просматривать объекты Windows за пределами традиционных сетей, а также локальных или съемных дисков. Например, чтобы посмотреть диски в разделе верхнего уровня реестра HKEY_LOCAL_MACHINE, вы можете использовать HKLM PSDrive. Чтобы войти в реестр, введите следующую команду: PS C:> cd HKLM: PS HKLM:/> Затем вы переключаетесь в раздел регистра где сможете просмотреть список всех объектов и удалять их, если вам это нужно. 5: Экспорт NTFS разрешений папки – как обычно, так и рекурсивно Управление разрешениями NTFS - это отдельный вопрос, но с помощью PowerShell можно экспортировать список разрешений для аудита доступов или для быстрого анализа списка ACLs для настройки политик безопасности. Это лучший вариант для создания отчётности в формате периодически запускаемого скрипта, или вы можете запускать его по требованию, например, для диагностики конкретной проблемы, связанной с доступами. Например, используя следующую команду: PS E:>Get-Acl N:Data Это даст вам быстрый ответ с результатами ваших прав безопасности по указанному пути N:Data (обратите внимание, что команда не даёт доступ к ресурсу). Данная команда не даст нам общую картину всех доступов всего пути, а только отчёт только об указанном пути. Но если вы хотите включить рекурсию для всего пути, вы можете использовать другую команду. Для того же пути N:Data вы должны использовать командлет Get-ChildItem (cmdlet) в PowerShell в сочетании с командлетом Get-Acl. Рассмотрим следующий пример: PS E:>Get-ChildItem N:Data -recurse | Get-Acl Данная команда будет отображать списки ACL для содержимого всего пути N:Data. Разберём как это работает: командлет Get-ChildItem показывает нам все объекты файловой системы по указанному пути N:Data, а дальше весь список объектов передаётся командлету Get-Acl который предоставляет результаты (списки ACL) для каждого объекта. Если вы хотите заархивировать данные в документ (CSV), вам нужно добавить | export-csv c:filename.csv в конце команды. Кроме этого вы можете извлечь в обычный текстовый файл с помощью добавления командлета > C:filename.txt. Обратите внимание что, когда вы используете параметр -recurse, он будет применяться во всех вложенных файлах и папках. Поэтому будьте внимательны, когда используете его для инвентаризации объёмных томов или же по сети. 6: Отличия PowerShell 2.0 PowerShell 2.0 включает в себя графический интерфейс что является удобной особенностью данной системы. Скрипты PowerShell сохраняются как файлы .ps1, что позволяет нам легко изменять, импортировать и мигрировать сценарии в различные системы. На скриншоте ниже показан пример списка разрешений NTFS в графическом режиме. Примечание для PowerShell 2.0: Перед тем как начать использовать PowerShell 2.0 версию, необходимо настроить политику исполнения с помощью первой версии PowerShell. Введите одну из следующих команд для настройки политики исполнения под ваши нужды: PS C:> Set-ExecutionPolicy Restricted (только проверка) PS C:> Set-ExecutionPolicy AllSigned (наиболее безопасный) PS C:> Set-ExecutionPolicy RemoteSigned (средний уровень безопасности) PS C:> Set-ExecutionPolicy Unrestricted (наименее безопасный) При этом не забудьте, что для PowerShell 2.0 требуется пакет WS-MAN v1.1 и Microsoft.NET Framework 3.0 для графического интерфейса. 7: Горячие клавиши в графическом интерфейсе PowerShell Если вы знакомы со средой Microsoft SQL Query Analyzer, вы по достоинству оцените некоторые из этих сочетаний клавиш. В PowerShell GUI вы можете выбрать одну или несколько строк и выполнить их разом одним нажатием клавиши F5. Кроме того, если вы изменили скрипт, то для экономии времени при редактировании и тестировании доступны привычные Ctrl + S для сохранения, Ctrl + Z для отмены, Ctrl + C для копирования и Ctrl + V для вставки. 8: Фоновый режим для длительных задачи Если вы собираетесь использовать команду, выполнение которого займёт некоторое время, вы можете запустить PowerShell в фоновом режиме до её завершения. Таким образом, можно отправить серию команд на автоматическое выполнение по своему собственному расписанию. Чтобы запустить команду в фоновом режиме необходимо добавить в начало параметр –psjob. А ещё можно узнать о состоянии любого из заданий с помощью следующей команды: PS C:> get-psjob В дополнительном окне вы увидите таблицу с результатами о текущих состояний ваших заданий, дополнительно с уникальными идентификаторами сеанса для каждой задачи отдельно. На скриншоте ниже показана одна проваленная задача. С помощью следующей команды вы можете удалить неудачную задачу, указав ID Session в конце команды: PS C:>remove-psjob 9 9: Вставка временных рамок для вывода команд PowerShell Для задач PowerShell можно ввести временную метку последовательности, чтобы определить продолжительность каждого шага, к тому же можно использовать для настройки журнала вводимых скриптов. Это может оказаться удобным способом для их тестирования. Чтобы вставить метку времени, введите одну из следующих команд в виде одно строки в файле .ps1: КомандыВывод"$(Get-Date -format g) Start logging"20/4/2020 7:45 AM"$(Get-Date -format F) Start logging"Friday, December 23, 2019 8:26:24 AM“$(Get-Date -format o) Start logging"2019-11-17T19:26:24.0479860-06:00 Существует много различных форматов команды Get-Date, но обычно эти три параметра подходят для большинства целей с временными метками. 10: Вывод результатов с задержкой В PowerShell некоторые команды выводят информацию на экран быстрым прокручиванием. Если вы не экспортируете данные в файл, будет невозможно просмотреть их на экране. Давайте ещё раз воспользуемся командлетом Get-ChildItem из предыдущих примеров. Эта команда может выводить множество результатов в зависимости от указанного пути. Для упрощения просмотра выводимых данных на экране мы воспользуемся функцией, которая называется EasyView. Данная функция позволяет нам просмотреть результаты на экране путем отображения одной строки каждые полсекунды. Функция EasyView создаётся следующим образом: function EasyView { process { $_; Start-Sleep -seconds .5}} Чтобы выполнить команду PowerShell с помощью функции EasyView добавьте в конце команды оператор | и название самой функции, как показано ниже: Get-ChildItem N:Data | EasyView Функция EasyView настроена на отображение строк с интервалом в полсекунды. Вы также можете настроить интервал в миллисекундах. Итоги Крутые особенности на этих 10 пунктах не заканчиваются. Есть множества функций PowerShell, которые могут упростить ваши ежедневные задачи. Я надеюсь эта статья привлечёт ваше внимание к командной строке и поможет вам в будущем использовать PowerShell.
img
Apache Maven - это инструмент управления проектами и автоматизации сборки с открытым исходным кодом, основанный на концепции объектной модели проекта (POM – Project Object Model), которая в основном используется для развертывания приложений на основе Java, но также может использоваться в проектах, написанных на C#, Ruby и другиех языках программирования. В этой статье мы объясним, как установить и настроить последнюю версию Apache Maven в системе CentOS 7 (данная инструкция также работает с дистрибутивом RHEL и Fedora). Требования: Недавно развернутый или существующий экземпляр сервера CentOS 7. Java Development Kit (JDK) - Maven 3.3+ требует JDK 1.7 или выше для выполнения. Установка OpenJDK 8 в CentOS 7 Java Development Kit (JDK) является основным требованием для установки Apache Maven, поэтому сначала установите Java в системе CentOS 7 из репозитория по умолчанию и проверьте версию с помощью следующих команд. # yum install -y java-1.8.0-openjdk-devel # java -version Если установка прошла успешно то, вы увидите следующий вывод. openjdk version "1.8.0_141" OpenJDK Runtime Environment (build 1.8.0_141-b16) OpenJDK 64-Bit Server VM (build 25.141-b16, mixed mode) Установка Apache Maven в CentOS 7 Далее перейдите на официальную страницу загрузки Apache Maven и загрузите последнюю версию или используйте следующую команду wget, чтобы загрузить ее в домашний каталог maven ‘/usr/local/src’. # cd /usr/local/src # wget http://www-us.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz Настройка среды Apache Maven Теперь нам нужно сконфигурировать переменные окружения для предварительно скомпилированных файлов Apache Maven в нашей системе, создав файл конфигурации «maven.sh» в каталоге «/etc/profile.d» . # cd /etc/profile.d/ # vim maven.sh Добавьте следующую конфигурацию в файл конфигурации «maven.sh». # Apache Maven Environment Variables # MAVEN_HOME for Maven 1 - M2_HOME for Maven 2 export M2_HOME=/usr/local/src/apache-maven export PATH=${M2_HOME}/bin:${PATH} Теперь сделайте конфигурационный файл «maven.sh» исполняемым, а затем загрузите конфигурацию, выполнив команду «source» . # chmod +x maven.sh # source /etc/profile.d/maven.sh Проверка версии Apache Maven Чтобы проверить установку Apache Maven, выполните следующую команду. # mvn --version И вы должны получить вывод, похожий на следующий: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T19:33:14+01:00) Maven home: /usr/local/src/apache-maven Java version: 9.0.4, vendor: Oracle Corporation, runtime: /opt/java/jdk-9.0.4 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.17.6-1.el7.elrepo.x86_64", arch: "amd64", family: "unix" Вот и все! Вы успешно установили Apache Maven 3.5.4 в вашей системе CentOS 7.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59