По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В этой статье поговорим о локализации проблем функционирования ESXi/ESX. Неисправности. Что может быть не так? ПО, работающее в гостевой виртуальной машине - медленно реагирует на команды управления; ПО, работающее в гостевой виртуальной машине, периодически прерывают работу; Гостевая виртуальная машина работает медленно или не отвечает на запросы. Проблемы с производительностью могут случаться из-за ограничений центрального процессора (CPU), переполнения памяти или, например, задержкой сети. Если виртуалки работают плохо, скорее всего имеют место траблы с памятью. Устраним? Решение (воркэраунд) Ограничения центрального процессора (проблемы CPU) Чтобы определить, связана ли низкая производительность виртуалки с ограничением центрального процессора, надо: Используйте команду esxtop для того, чтобы определить основные параметры производительности аппаратного сервера виртуалки Проверьте командой load average загрузку. Если среднее значение нагрузки равно 1.00 , то физические ЦП (центральные процессоры) гипервизора ESXi/ESX полностью используются, а среднее значение нагрузки, равное 0.5, значит, что используются наполовину. Логика, думаю, вам понятна. Значение нагрузки, равное 2.00, означает, что система в целом переполнена (бегите в серверную с огнетушителем 👀) Проверьте поле %READY на процент времени на момент, когда виртуальная машина была готова, но не смогла запуститься на физическом ЦП. При нормальных условиях эксплуатации это значение должно находиться в пределах 5%. Если это значение высокое, и виртуальная машина имеет плохую производительность, тогда проверьте ограничение центрального процессора: Убедитесь, что на виртуальной машине не установлен предел ЦП. Убедитесь, что на виртуальной машине не установлен пул ресурсов (Resource Pool). Если среднее значение нагрузки слишком высокое и время ожидания не вызвано ограничением центрального процессора, тогда отрегулируйте нагрузку ЦП на хост. Чтобы настроить нагрузку на хост, выполните следующие шаги: Увеличьте значение физического ограничения ЦП на хост Или уменьшите виртуальное ограничение ЦП, выделенное хосту. Чтобы уменьшить это ограничение, сделайте: Уменьшите общее количество ЦП, выделенных всем виртуальным машинам, работающих на узле ESX Или уменьшите количество виртуальных машин, работающих на хосте (но это весьма грубый способ, как мы считаем) Если Вы используете ESX 3.5, проверьте доступ к IRQ. Переполнение памяти Чтобы определить, связана ли низкая производительность с избыточностью памяти: Используйте команду esxtop для того, чтобы определить основные параметры производительности аппаратного сервера виртуалки. Проверьте параметр MEM в первой строке вывода. Это значение отражает отношение запрошенной памяти к доступной, минус 1. Например: Если виртуальным машинам требуется 4 ГБ ОЗУ, а хост имеет 4 ГБ ОЗУ, то справедливо соотношение 1:1. После вычитания 1 (из 1/1) поле MEM overcommit avg считывает 0. Вывод - избытка нет и не требуется дополнительной оперативной памяти. Если виртуальным машинам требуется 6 ГБ ОЗУ, а хост имеет 4 ГБ ОЗУ, то есть соотношение 1,5:1. После вычитания 1 (из 1,5/1), поле overcommit avg МЭМ считывает 0,5. Объем оперативной памяти превышен на 50%, что означает, что требуется на 50% больше доступной оперативной памяти. Если память перегружается, отрегулируйте нагрузку на хост. Чтобы настроить нагрузку на память, выполните следующие действия: Увеличьте количество физической оперативной памяти на хосте Или уменьшите объем оперативной памяти, выделенной виртуальным машинам. Для уменьшения объема выделенной оперативной памяти: Уменьшите общий объем оперативной памяти, выделяемой всем виртуальным машинам на узле Или уменьшите общее число виртуальных машин на узле. Определите, являются ли виртуальные машины "раздувающимися" или/и заменяемыми. Для обнаружения раздувания или замены: Запустите esxtop Введите m для просмотра памяти Введите f для управления колонками вывода (полями) Выберите букву J в поле Memory Swap Statistics "Статистика раздувания памяти" (MCTL) Посмотрите на значение MCTLSZ. MCTLSZ (MB)отображает объем физической памяти гостя, возвращаемой драйвером баллона (Memory Ballooning). Введите f для управления колонками вывода (полями) Выберите букву для статистики свопов памяти (SWAP STATS) Посмотрите на значение SWCUR. SWCUR (MB) отображает текущее использование обмена. Чтобы устранить эту проблему, убедитесь, что раздувание и/или замена не вызваны неправильно установленным пределом памяти Период ожидания запоминающего устройства Чтобы определить, связана ли низкая производительность с задержкой хранения данных: Определите, связана ли проблема с локальным хранилищем. Если связана, то перенесите виртуальные машины в другое место хранения. Уменьшите количество виртуальных машин на одно логическое устройство. Найдите записи журнала в Windows guests, которые выглядят следующим образом: The device, DeviceScsiPort0, did not respond within the timeout period. Используя esxtop, найдите высокое время задержки DAVG. Определите максимальную пропускную способность ввода-вывода, которую можно получить с помощью команды iometer. Сравните результаты iometer для виртуальной машины с результатами для физической машины, подключенной к тому же хранилищу. Проверьте наличие конфликтного обращения к ресурсу SCSI. Если вы используете ресурсы хранения iSCSI и группу данных jumbo, убедитесь, что все настроено правильно. Если вы используете ресурсы хранения iSCSI и передачу по нескольким трактам с использованием программного инициатора iSCSI, убедитесь, что все настроено правильно. При выявлении проблемы, связанной с хранением: Убедитесь, что аппаратный массив устройства и платы HBA сертифицированы для ESX/ESXi. Убедитесь, что BIOS физического сервера обновлена. Убедитесь, что встроенное ПО вашего HBA-адаптера обновлено. Убедитесь, что ESX может распознать правильный режим и политику пути для типа массива хранения SATP и выбора пути PSP. Задержка сети На производительность сети может сильно влиять производительность ЦП. Исключите проблему производительности ЦП перед исследованием сетевой задержки. Чтобы определить, вызвана ли низкая производительность задержкой сети, выполните следующие действия: Проверьте максимальную пропускную способность виртуальной машины с помощью инструмента Iperf. При использовании Iperf измените размер окон TCP на 64 K. Производительность также зависит от этого значения. Чтобы изменить размер окон TCP: На стороне сервера введите следующую команду: iperf –s На стороне клиента введите следующую команду: iperf.exe -c sqlsed -P 1 -i 1 -p 5001 -w 64K -f m -t 10 900M Запустите Iperf с компьютера вне хоста ESXi/ESX. Сравните результаты с ожидаемыми, в зависимости от физической среды. Выполните команду Iperf с другого компьютера вне хоста ESXi/ESX в той же VLAN на том же физическом коммутаторе. Если производительность хорошая, и проблему можно воспроизвести только на машине в другом географическом месте, то проблема связана с вашей сетевой средой. Выполните команду Iperf между двумя виртуальными машинами на одном сервере ESX/portgroup/vswitch. Если результат хороший, можно исключить проблему с ЦП, памятью или хранилищем. Если вы определяете параметры, которые ограничивают производительность системы в сети: Если вы используете ресурсы хранения iSCSI и кадры jumbo, убедитесь, что все настроено правильно. Если вы используете Network I/O Control,то убедитесь, что общие ресурсы и ограничения правильно настроены для вашего трафика. Проверьте правильность настройки формирования траффика.
img
Друг, начнем с цитаты: Redis – это высокопроизводительная БД с открытым исходным кодом (лицензия BSD), которая хранит данные в памяти, доступ к которым осуществляется по ключу доступа. Так же Редис это кэш и брокер сообщений. Надо признаться, определение не дает точного понимания, что же такое Redis. Если это так круто, то зачем вообще нужны другие БД? На самом деле, Redis правильнее всего использовать в определенных кейсах, само собой, зная про подводные камни – именно об этом и поговорим. Про установку Redis в CentOS 8 мы рассказываем в этой статье. Redis как база данных Говорим про случай, когда Redis выступает в роли базы данных: Пару слов про ограничения такой модели: Размер БД ограничен доступной памятью Шардинг (техника масштабирования) ведет к увеличению задержки Это NoSQL - никакого языка SQL LUA скриптинг в качестве альтернативы Это нереляционная СУБД! Нет сегментации на пользователей или группы пользователей. Отсутствует контроль доступа Доступ по общему паролю. Что скажут ваши безопасники? Теперь про преимущества модели: Скорость Хранение данных в памяти делает быстрее работу с ними Скрипты на LUA Выполнение прямо в памяти, опять же, ускоряет работу Удобные форматы запросов/данных Geospatial – геоданные (высота, ширина, долгота и так далее) Hyperloglog – статистическе алгоритмы Hash – если коротко, то хэш в Redis делают между строковыми полями и их значениями Алгоритмы устаревания данных Примеры использования Представь, у нас есть приложение, где пользователям необходимо авторизоваться, чтобы выполнять какие – либо действия внутри приложения. Каждый раз, когда мы обновляем авторизационные данные клиента, мы хотим их получать для последующего контроля. Мы могли бы отправлять лист авторизационных параметров (с некими номерами авторизаций, сроком действия с соответствующими подписями), чтобы каждое действие внутри приложения, сопровождалось авторизацонной транзакцией из листа, который мы прислали клиенту. С точки зрения безопасности, в этом подходе нет ничего плохого, если мы храним на своей стороне данные в безопасности и используем Javascript Object Signing and Encryption (JOSE), например. Но проблема появится в том случае, когда наш пользователь имеет более одной авторизации внутри приложения – такие схемы плохо поддаются масштабированию. А что если вместо отправки листа авторизационных параметров, мы сохраним его у себя, а пользователю отправим некий токен, который они должны отправлять для авторизации? Далее, по этому токену, мы легко сможем найти авторизации юзера. Это делает систему гораздо масштабируемой. Redis, такой Redis. Итого, для указанной выше схемы, мы хотим: Скорость Мы не хотим, чтобы пользователь долго ожидал авторизации Масштабирумость системы Сопоставление ключа (токена) с авторизациями юзера А вот, что на эти вызовы может ответить Redis: Redis хранит данные в памяти – он быстрый. Redis можно кластеризовать через компонент Sentinel. Масштабируемость? Пожалуйста. В Redis куча вариантов хранения списков. Самый простой будет являться набором данных. В качестве бонуса от Redis, вы получите механизм экспайринга токенов (устаревания). Все будет работать. Redis как кэш! Redis почти заменил memcached в современных приложениях. Его фичи делают супер – удобным кэширование данных. Ограничения: Значения не могут превышать 512 МБ Отсутствует искусственный интеллект, который будет очищать ваше хранилище данных Профит: Совместное использование кэша разными сервисами по сети Удобные фичи, такие как LUA скриптинг, который упрощает работы с кэшом Временные ограничения для данных Еще один кейс Предположим, перед нами такая задача: приложение, отображает пользователям данные с определенными значениями, которые можно сортировать по множеству признаков. Все наши данные хранятся в БД (например, MySQL) и показывать отсортированные данные нужно часто. Дергать БД каждый раз весьма тяжело и ресурсозатратно, а значит, нам нужно кэшировать данные в отсортированном порядке. Окей, кейс понятен. Рэдис, что скажешь на такие требования? Кэш должен хранить сортированные наборы данных Нам нужно вытаскивать наборы данных внутри наборов данных (для пагинации, например, то есть для переключения между страницами) Это должно быть быстрее, чем пересчет данных с нуля Что скажет Redis: Хранить наборы данных - легко Может вытаскивать сабсеты из наборов - легко Конечно быстрее. Ведь данные хранятся в памяти Redis как брокер сообщений Редис может выступать в качестве брокера сообщений. Схема обычная и весьма базовая - publish–subscribe (pub/sub), или как можно перевести на русский язык «Издатель - подписчик». Как и раньше, давайте обсудим плюсы и минусы, хотя их тут и не так много. Минусы: Только тривиальная модель pub/sub Отсутствие очередей сообщений Ну а плюсы, как обычно для Редиса – скорость и стабильность. Кейс напоследок Простой пример – коллаборация сотрудников одной компании. Предположим, у них есть приложение, где они работают над общими задачами. Каждый пользователь делает свой набор действий, о котором другие пользователи должны знать. А так же, юзеры могут иметь разные экземпляры приложений – десктоп, мобильный или что то еще. Требования по этой задаче: Низкая задержка Мы не хотим иметь трудности в процессе совместной работы сотрудников Стабильная работа и непрерывность Масштабирование Кампания растет и развивается Редис, твой выход! Низкая задержка – да, говорили об этом ранее Стабильность – минимальное количество точек отказа в Redis Стабильная работа и непрерывность Масштабирование – сделаем кластер, нет проблем. Выводы Redis - крутая штука, которая позволяет объединять сервисы и следовать 12 принципам приложений. Для приложений, в которых нагрузка ориентирована на быстрое изменение наборов данных и высокая безопасность данных не имеет завышенных требований – Redis прекрасный выбор. Если данные нуждаются в усиленной защите, Редис подойдет в меньшей степени, лучше посмотрите в сторону MongoDB или Elasticsearch.
img
В одной из предыдущих статей мы рассматривали такой инструмент сетевого инженера как Puppet. Как мы выяснили, это решение экономит кучу времени администратора в сетях, которые насчитывают большое количество узлов. При этом в силу кроссплатформенности данное решение позволяет осуществлять настройку различных операционных систем и их версий для корректной работы сети. Эта программа имеет клиент-серверную архитектуру, то есть периферийные машины, на которых установлена клиентская часть, запрашивают и получают обновленные файлы с актуальными параметрами конфигурации, а затем программа осуществляет обновление параметров операционной системы в автоматическом режиме. Сегодня мы разберем конкретные примеры использования данного решения -зачем оно нужно и где оно применяется. На самом деле, сфера применения данного решения довольно широка. Это и небольшая локальная сеть группы разработчиков небольшого приложения на Android, сети покрупнее у компаний вроде небольших торговых сетей, сети больших организаций (таких, например, как сеть промышленного предприятия), и сети мегакорпораций, насчитывающие внутри себя десятки тысяч узлов. Как мы и писали ранее, манифесты Puppet, которые пишутся на языке, имеющем определенное сходство с Ruby (на котором и написана, в общем-то программа Puppet), хранятся в хранилище на сервере. Актуальные конфигурации настроек выдаются по запросам от клиентских машин. Это позволяет осуществлять быструю передачу однотипных настроек конфигурации, а затем устанавливать их параллельно на каждой клиентской машине, используя ее аппаратные мощности. Это решение применяется во многих компаниях. Официальными партнерами Puppet являются Нью-йоркская фондовая биржа NYSE, которая является частью межконтинентальной фондовой биржи ICE. На текущий момент более 75% серверов ICE управляются посредством Puppet. Применение данного решения позволило снизить нагрузку на администратора теперь один администратор без снижения производительности может обслуживать в 2,2 раза больше серверов, чем раньше. Значительно повышается скорость подготовки среды там, где раньше требовалось 1-2 дня, Puppet справляется примерно за полчаса. Кроме этого, Puppet замечательно справляется с передачей настроек безопасности, что позволяет обеспечить общую безопасность во всей системе, исключая уязвимости на периферии. Также использует Puppet такой представитель IT-индустрии, как компания Splunk.Inc. Эта компания занимается разработкой систем анализа данных для крупных корпораций и имеет офисы в 12 странах мира. С помощью Puppet здесь реализованы улучшения работы облачной технологии, а также улучшилась поддержка конечных пользователей. Специалисты компании отмечают значительное ускорение развертывания сети, и более эффективное управление клиентской средой, за счет лучшей согласованности Puppet по сравнению с ранними программными решениями. Кроме того, Puppet экономит время разработчиков если ранее многие машины требовали ручной корректировки настроек, то сейчас все происходит автоматически, позволяя выделять высвобождаемое время для разработки новых программных решений и обслуживания пользователей. Еще одним ярким примером эффективного применения Puppet является компания Staples один из ведущих производителей канцтоваров в мире. У этой компании широко разветвлённая сеть офисов, поэтому построение надежной и эффективной сети это одна из приоритетных задач. Используя решения Puppet, корпорация Staples развертывает сети более эффективно, а за счет отличной совместимости Puppet с различными операционными системами и другими программными продуктами, Staples успешно комбинирует решения различных команд разработчиков, подбирая и внедряя наиболее эффективные из них в свою систему управления сетью. Также специалисты компании Staples отмечают высокую надежность и эффективность данного решения. Если же упоминать использование Puppet в сравнительно небольших организациях, то администраторы небольших компаний также отмечают гибкость и удобство этой системы. Если компания насчитывает до 500 сотрудников, то она будет иметь не слишком крупную сеть. Но даже в этом случае сетевой инженер должен произвести настройку каждой машины. Разумеется, настраивать вручную несколько сотен рабочих станций - дело неблагодарное. Поэтому Puppet серьезно сокращает время на обслуживание сети и позволяет админу заняться другими задачами.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59