Архив рубрики: windows server 2012 r2

Расчет памяти для некластеризованного, либо кластеризованного SQL Server работающего в режиме Актив/Пассив

  1. Остаток для ОС – 5%. В нашем случае это около 25 GB (500*5%).
  2. Память под ядро SQL Server (различные *.exe, *.dll, *ocx и пр. модули), SQL heap, CLR. Обычно это до 500 MB, хотя за счет CLR это может быть и больше.
  3. Память под кэши “Worker thread”, рассчитываемая по формуле (512+(NumCpu-4)*16)*2 MB. В нашем случае это (512+(64-4)*16)* 2MB = 2944 MB (около 2.7 GB).
  4. Итого под “max server memory” остается:  500 – 25 – 0.5 – 2.7 = 471.2 GB. Т.е. размер Буферного пула (при таком значении “max server memory”) может вырасти до 471 GB.
  5. Для версии SQL 2012 и далее “max server memory” включает в себя SQL heap и частично CLR.

Особенно актуален это расчет, если вы используете “Lock Pages In Memory” В этом случае завысив это число или оставив его по умолчанию (что обозначает – любой объем) вы можете поставить ОС в довольно неприятное положения, которое приведет к агрессивному триммированию рабочих наборов и, как следствие, резкому замедлению работы системы.

Расчет памяти для кластеризованный SQL Server в режиме Актив/Актив.

При расчете необходимо учитывать, что пункты 2, 3 и 4 должны быть удвоены, и при использовании права учетной записи SQL Server “Lock Pages In Memory”, вам необходимо подобрать не только “max server memory”, но и “min server memory”, что бы в случае переката обоих SQL Server на один узел вы не забрали всю память у ОС.

В данном случае на сервере установлено 500 GB оперативной памяти и 5% должно быть около 25 GB. Каким бы большим не казалось это число, но чем больше на сервере процессоров и памяти, тем (как правило) более ресурсоемкие задачи он выполняет и для их решения ему требуются большие ресурсы.

Как видно из рисунка (в данном случае), остаток памяти на сервере составляет около 7 GB, что не соответствует нашим рекомендациям.

Далее нам необходимо понять, имеет ли SQL Server достаточный запас памяти, часть которого можно освободить в пользу ОС. Для ответа на этот вопрос необходимо проанализировать счетчики производительности SQL Server.

Давайте сначала выясним сколько памяти потребил SQL Server. Для этого надо знать, использует или нет SQL Server право учетной записи SQL Server “Lock Page In Memory”, Выяснить это можно из свойств учетной записи, а можно косвенно, через счетчики Performance Monitor. Дело в том, что если право учетной записи SQL Server “Lock Page In Memory” не установлено, то вся (или почти вся) используемая память будет частью рабочего набора процесса  Если же это право установлено, то при этом (скрыто) используется механизм AWE (Address Windows Extension) и основная память под Буферный пул будет размещена за пределами процесса

Как видно из рисунка ниже, размер рабочего набора процесса составляет всего около 4 GB, что значительно меньше общего объема потребленной памяти.

Посмотрим, сколько всего памяти использует SQL Server. Он использует 500 857 024 (около 480 GB) для распределения на Буферный пул, Процедурный кэш, кэш Worker Thread и для некоторых не значительных потребителей. А отсюда можно сделать вывод, что в данном случае SQL Server использует “Lock Pages in Memory”.

Далее приступим к поиску ответа на вопрос:”Можно ли отобрать часть памяти у SQL Server, не нанося ему вреда?”

Во первых, давайте проверим какое количество запросов обслуживается из Буферного пула (без выполнения физических чтений). Как мы видим из рисунка ниже по тексту около 100% (точнее 99,972%) запросов выполняются из буферного пула (при пороговом значении данного счетчика не менее 92%), что дает нам надежду на наличие избытка памяти у SQL Server.

Следующим счетчиком, который рекомендуется посмотреть является SQL Server: Page Life Expectancy. Он контролирует время жизни страниц в Буферном пуле. Пороговое значение 300 секунд. В данном случае мы видим среднее значение около 221000, что почти в 700 раз больше порогового. Это укрепляет нас в мысли, что ресурсы есть.

Окончательный ответ нам поможет дать счетчик SQL Server: Lazy Writes/sec, отображающий как часто срабатывает процесс Lazy Writer. Мы знаем, что это процесс активируется тогда, когда у SQL Server заняты около 75% выделенных буферов. Его задача выполнить фиксацию данных и очистить буферы. Для систем имеющих значительный запас памяти этот счетчик должен быть близок к нулю. Как мы видим это так.

Из всего вышесказанного можно сделать вывод: SQL Server имеет достаточный объем памяти и может “поделиться” ей с ОС. Отбирая память у SQL Server (уменьшая “max server memory”) необходимо контролировать выше описанные счетчики и определить тот порог, ниже которого уменьшать объем памяти нельзя.

Выявляем и оптимизируем ресурсоемкие запросы 1С:Предприятия

Обычно предметом оптимизации являются заранее определенные ключевые операции, т.е. действия, время выполнения которых значимо для пользователей. Причиной недостаточно быстрого выполнения ключевых операций может быть неоптимальный код, неоптимальные запросы либо же проблемы параллельности. Если выясняется, что основная доля времени выполнения ключевой операции приходится на запросы, то осуществляется оптимизация этих запросов.
При высоких нагрузках на сервер СУБД в оптимизации нуждаются и те запросы, которые потребляют наибольшие ресурсы. Такие запросы не обязательно связаны с ключевыми операциями и заранее неизвестны. Но их также легко выявить и определить контекст их выполнения, чтобы оптимизировать стандартными методами.

Windows 10 — знакомый рабочий стол

Хотя в Windows 10 отсутствуют специфичные для сервера функции, она компенсирует это в других областях. Обновления для Windows 10 поступают быстрее и чаще, имеют такие функции, как Timeline и Cortana, которые отсутствуют на Windows Server, и не заблокированы. Установка нового программного обеспечения, особенно загруженного из Интернета, требует несколько этапов, и ваши предпочтения будут перенесены с одного компьютера на другой, если вы войдете в систему с учетной записью Microsoft.

Кроме того, в Windows 10 есть и другие функции, такие как «Ваш телефон» , «Прогрессивные веб-приложения» и «Подсистема Windows для Linux». Некоторые из этих функций используют Microsoft Store, к которому Windows Server не имеет доступа.

И если вы предпочитаете, вы можете изменить Windows 10 в соответствии с вашими потребностями и вести себя как Windows 7.

Проблема: один из пользователей потребляет 90% и более CPU

Опишу реальный случай с которым вы обязательно столкнетесь, если у вас в компании используются терминальные столы. И так есть RDS ферма построенная на базе Windows Server 2012 R2 до Windows Server 2019. На каждом из RDSH хостов могут одновременно работать свыше 30 пользователей. В среднем они суммарно не потребляют более 30% процессорных мощностей, но когда приходит период отчетности некоторые пользователи начинают нагружать сервера куда интенсивнее. Очень часто можно встретить, что пользователь работающий с Excel, 1С и похожими программами начинает потреблять 80-90% процессорных мощностей, в результате чего начинают страдать остальные пользователи этого RDSH хоста.

Ранее для решения это проблемы в Windows Server 2008 R2 был замечательный компонент диспетчер системных ресурсов (Windows System Resource Manager), но Microsoft его посчитала устаревшим и выпилила из состава компонентов, аж с Windows Server 2012 R2 и выше. Но не думайте, что доблестные разработчики не подумали чем вам восполнить этот пробел, они придумали и включили в состав Windows Server компонент «Динамическое планирование долевого распределения» или как в оригинале «Dynamic Fair Share Scheduling (DFSS)».

Что такое Dynamic Fair Share Scheduling (DFSS)?

Так как официального метода вернуть Windows System Resource Manager не существует, а есть лишь костыльные, нам придется работать с тем, что есть. «Динамическое планирование долевого распределения» или как в оригинале «Dynamic Fair Share Scheduling (DFSS)» — это механизм автоматической балансировки и распределения сетевой нагрузки, дисковых, процессорных мощностей между всеми пользовательскими сессиями на RDSH хосте. Все эти три варианта имеют цель предотвратить чрезмерное использование ресурсов одним пользователем и предоставить всем пользователям одинаковые возможности. Однако методы FairShare не гарантируют, что ресурсы не будут исчерпаны, это все еще может иметь место. Если все пользователи используют все ресурсы ЦП, FairShare гарантирует, что все пользователи получат некоторую емкость ЦП, но все же может быть, что все процессоры загружены на 100%, а пользователи испытывают снижение производительности, это нужно учитывать.

Расчет производительности для дома

На рисунке буквой Н — обозначается высота, а буквой L — длина. При расчёте расстояния необходимо занести расстояние по вертикали и горизонтали в разные строчки, далее мы объясним, как их сложить правильно.

Допустим, расстояние Н (высота) от зеркала воды до самой крайней точки (ванная комната) составило 8 метров, расстояние L(длина) магистрали, составила  18 метров, следовательно, длину переводим в высоту, разделив её на десять: H=L/10 = 18/10= , складываем её с замеренной высотой, получаем 9,8 метра.

Следующим этапом необходимо выполнить расчёт потребляемой воды Q. Для этого нужно посчитать, сколько одновременно открытых точек забора воды будет использоваться. В нашем случае:

  • Смеситель умывальника – 10 литров в минуту
  • Смеситель ванной – 15 литров в минуту
  • Стиральная машина – 8 литров в минуту.

Суммарный расход вычисляем путём сложения, получатся 10+15+8=33 л/мин это показатель нужной производительности. Аппарат должен соответствовать либо превышать данное значение.

Выдача 20 литров в минуту, ёмкость резервуара 2л – идеальное негабаритное решение для постоянного напора воды в загородном доме из резервуараИсточник

Изменения счетчиков производительности CPU

Как вам может быть известно, названия счетчиков производительности Windows в той или иной степени привязаны к основному языку ОС. Если у вас английская версия, то и счетчики будут иметь названия на английском языке; если же вы пользуетесь русскоязычной версией, то добавляется ещё и русская вариация названий счетчиков, которой вы можете пользоваться полноценно. Выглядят названия примерно таким образом:

\Processor Information(_Total)\% Processor Time

\Сведения о процессоре(_Total)\% загруженности процессора

Выше вы можете увидеть названия одного и того же счетчика на разных языках. В системном мониторе это выглядит так:

Для мониторинга добавлены два одинаковых счетчика, только один взят с сервера, на котором установлена полностью английская версия ОС, а другой счетчик взят с русскоязычной версии ОС другого сервера.

Помимо понятного всем словесного представления счетчиков, существует также и их числовое представление, призванное унифицировать использование счетчиков производительности на операционных системах с разными языками. Посмотреть какое представление будет иметь нужный вам счетчик вы можете открыв реестр:

Shell

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009

1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009

Вам нужно значение параметра Counter, в нем вы найдете полный список счетчиков на данной системе и их числовые варианты. Русскоязычная версия хранится практически по тому же пути, просто вместо 009 нужно заходить в 019.

Упоминаемый выше счетчик % загруженности процессора будет иметь цифровое представление:

\1848(_Total)\1850

Не буду подробно углубляться в механизм определения соответствий словесных значений цифровым, но с этого момента начинается самое интересное. Дело в том, что \Processor Information(_Total)\% Processor Time соответствует \1848(_Total)\1850 только в версиях ОС до Windows Server 2012 включительно, а с версии Windows Server 2012 R2 тот же счетчик будет иметь совсем другое числовое представление:

\4674(_Total)\4676

Зачем вообще беспокоиться об этих вещах, спросите вы? Дело в том, что цифровое представление широко используется в той же системе мониторинга ZABBIX (подробнее о ZABBIX читайте в рубрике ZABBIX, а также непосредственно в статье о performance counters — Шаблоны Windows в ZABBIX) и, выражаясь простым языком, для версии Windows Server 2012 R2 придется создавать отдельный шаблон мониторинга, если вам нужно отслеживать параметры именно группы Processor Information. С группой Processor все осталось как прежде и если вам не нужно использовать специфичные для Processor Information счетчики, пользуйтесь устаревшей, но проверенной группой Processor.

Заметил это все чисто случайно, когда на серверах с ОС версии 2012 R2 счетчики работали нормально, а с более старыми версиями отказывались возвращать данные.

comments powered by HyperComments

Мониторинг производительности

Но, вы можете найти и некоторые дополнительные подробности, которые, если вы не знаете где их искать, обычно скрыты.

Каждый эскиз, в левой панели вкладки производительности — живой график этой метрики. Щёлкните на эскизе, чтобы увидеть увеличенную версию, с дополнительными сведениями в панели справа.

Список доступных эскизов, на левой стороне, в верхней части, включает графики процессора и памяти. Остальные элементы варьируется в зависимости от установленного оборудования. Например, для настольного ПК, показанного на рисунке ниже, отображены накопители и сетевые параметры, с отдельными диаграммами для каждого из трёх отдельных физических дисков и трёх сетевых адаптеров.

Какая польза от диаграммы процессора? Например, вы пытаетесь выяснить, имеет ли новое устройство достаточно мощности для обработки сложных задач: редактирования фото и видео. Откройте диспетчер задач, отображающий на вкладке «Быстродействие» график ЦП и запустите задачу, например, перекодирование видео или преобразования большой партии RAW файлов изображений в сжатый формат.

Чтобы выполнить ряд тестов и увидеть их результат в реальном времени, вы можете, для изменения скорости обновления (или его полной приостановки), использовать параметры меню «Вид» и держать окно диспетчера задач поверх других окон.

Просмотр и настройка событий

В этом разделе вы узнаете, как настроить сбор данных журнала событий с серверов в диспетчер сервера пуле серверов и какие события должны выделяться в эскизах.

Примечание

События, о которых вы получаете оповещения в эскизах, представляют собой подмножество общих событий, которые вы указываете диспетчер сервера собираются с управляемых серверов. Несмотря на то, что изменение условий событий в диалоговом окне Настройка данных события в плитках событий может изменить число оповещений, отображаемых на панели мониторинга Диспетчер сервера, изменение критериев оповещения о событиях в эскизах не влияет на данные журнала событий, собираемые с управляемых серверов.

Настройка событий, собираемых с управляемых серверов

  1. В консоли диспетчер сервера откройте любую страницу, кроме панели мониторинга. События, собираемые с управляемых серверов, можно настроить в плитке События на страницах роли, группы серверов или локального сервера.

  2. В меню Задачи плитки События щелкните Настройка данных события.

  3. Выберите уровни серьезности событий, которые необходимо собрать с серверов в выбранной группе. Степени серьезности Критическая, Ошибка и Предупреждение выбраны по умолчанию.

  4. Укажите период времени для событий. По умолчанию срок жизни событий составляет 24 часа.

  5. Выберите файлы журнала событий, из которых должны собираться события. По умолчанию это файлы Приложение, Настройка и Система.

  6. Чтобы сохранить изменения и закрыть диалоговое окно Настройка данных события, нажмите кнопку ОК. Данные события автоматически обновляются при сохранении изменений.

Настройка событий, отображаемых в эскизах

Если диспетчер сервера уже открыт, перейдите к следующему шагу. Если диспетчер серверов еще не открыт, откройте его одним из следующих способов.

На рабочем столе Windows запустите диспетчер серверов, щелкнув Диспетчер серверов на панели задач Windows.

на начальном экране Windows щелкните плитку диспетчер сервера.

На панели мониторинга, в плитке Роли и группы серверов эскиза, щелкните строку События.

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

Обратите внимание, что количество событий, отображаемых в диалоговом окне подробное представление , увеличивается при добавлении уровня серьезности, о котором необходимо получать оповещения.

В поле Источники событий выберите источники событий для оповещения. Значение по умолчанию — All.

Если этот эскиз предназначен для роли, установленной на нескольких серверах, или группы из нескольких серверов, в раскрывающемся списке серверы можно выбрать серверы, для которых требуется создать оповещения о событиях.

В поле период времени укажите период времени до 1440 минут, 24 часа или 1 день.

В поле ИД событий введите кодовые числа определенных событий для оповещения

Можно ввести диапазон идентификаторов событий, разделенных тире ( — ), и исключить идентификаторы событий из диапазона, введя тире перед идентификатором события или диапазоном идентификаторов событий, которые требуется исключить. Например, значение 1,3,5-99,-76 означает, что оповещения вызываются для событий с идентификаторами 1 и 3, а также для всех событий с идентификаторами в диапазоне от 5 до 99, за исключением события с идентификатором 76.

При изменении условий отображения оповещений число оповещений о событиях, отображаемых в области результатов в нижней части диалогового окна, может измениться. Выберите записи в списке и щелкните скрыть предупреждения , чтобы они не влияли на число оповещений, отображаемых в исходном эскизе. Для выбора нескольких оповещений нажмите и удерживайте клавишу CTRL при выборе оповещений. Вы также можете сделать это для оповещений, соответствующих ранее выбранным условиям оповещения о событиях, которые не нужно отображать.

Щелкните Показать все для возврата скрытых оповещений в список.

Нажмите кнопку ОК , чтобы сохранить изменения, закрыть диалоговое окно « подробное представление » и просмотреть изменения предупреждения о событиях в исходном эскизе.

Решение

  1. Убедитесь, что локализованная групповая политика или политика групп домена не блокирует использование диспетчера задач.

    • Политика локальной группы

      1. Перейдите к > запуску запуска, введите, а затем нажмите ввод.

      2. Перейдите к администрированию > конфигурации > пользователей System > Ctrl+Alt+Del Options.

      3. В правой части экрана убедитесь, что параметр Remove Task Manager установлен для отключения или ненастройки.

      4. Закрыть MMC Gpedit.msc.

      5. Перейдите к > запуску запуска, введите, а затем нажмите ввод.

        Примечание

        Если вы используете Windows 2000, выполните 227302 KB e. Использование для немедленного принудительного обновления групповой политики.

    • Политика группы домена

      Свяжитесь с локальной командой поддержки ИТ.

  2. Проверка правильных параметров реестра:

    1. Перейдите к > запуску запуска, введите, а затем нажмите ввод.

      Предупреждение

      Изменение реестра может привести к серьезным проблемам, которые могут потребовать переустановки операционной системы. Всегда архивайте файлы перед этим взломом реестра.

    2. Перейдите к следующим клавишам реестра и убедитесь, что по умолчанию установлены следующие параметры:

      Windows Registry Editor Version 5.00

      DisableTaskMgr=dword:000000000

      DisableTaskMgr=dword:000000000

      DisableTaskMgr=dword:000000000

      DisableCAD=dword:00000000

    3. Перезагрузите компьютер.

Community Отказ от контента решений

Корпорация Майкрософт и/или соответствующие поставщики не делают представлений о пригодности, надежности или точности сведений и связанных с ними графических данных, содержащихся в этой записи. Вся такая информация и связанная графика предоставляются «как есть» без какой-либо гарантии. Корпорация Майкрософт и/или соответствующие поставщики тем самым отключили все гарантии и условия в отношении этой информации и связанной графики, включая все подразумеваемые гарантии и условия торговой доступности, пригодность для определенной цели, рабочий труд, название и неущемление. Вы соглашаетесь, что ни в каких событиях корпорация Майкрософт и/или ее поставщики не несут ответственности за любые прямые, косвенные, штрафные, случайные, специальные, сопутствующие повреждения или любые повреждения, включая без ограничений убытки за потерю использования, данных или прибыли, возникающие из-за использования или невозможности использования сведений и связанных с ними графических элементов, содержащихся в этом деле, независимо от того, были ли они связаны с контрактом, тортом, халатностью, строгой ответственностью или иным образом, даже если корпорации Майкрософт или любому из ее поставщиков было рекомендовано о возможности ущерба.

Просмотр ваших данных для анализа

По завершении работы набора сборщиков данных вы можете загрузить его файл журнала в системный монитор, чтобы вы могли визуализировать всю информацию, которую он отслеживал.

Нажмите на Монитор производительности на боковой панели, чтобы просмотреть фактический монитор, затем нажмите Просмотр данных журнала на панели инструментов.

Под Источник выберите вкладку Лог-файлы в качестве источника данных, затем нажмите добавлять и перейдите в папку, в которой вы сохранили данные своего набора, и выберите файл (он должен быть в формате .BLG).

Далее перейдите к Данные Вкладка. После загрузки файла журнала вы можете выбрать, какие точки данных вы хотите просмотреть на мониторе. Нажмите добавлять и вы сможете выбрать счетчики, которые были отслежены в ваших данных журнала.

Нажмите Применять, затем нажмите Хорошо.

5 разных форматов просмотра данных

По умолчанию данные монитора отображаются в виде линий, как видно на предыдущих снимках экрана в этой статье, но вы также можете просматривать данные другими способами. На скриншотах ниже показаны одни и те же данные всеми пятью способами.

Монитор ресурсов

Монитор ресурсов содержит более детальную информацию. Кроме загрузки процессора и оперативной памяти, для каждого процесса в реальном времени отображаются операции чтения и записи на диск, открытые файлы, связанные службы и библиотеки, сетевая активность.

Как запустить мониторинг ресурсов? Есть несколько способов:

  • нажать кнопку “Открыть монитор ресурсов”, расположенную на вкладке “Производительность” диспетчера задач;
  • ввести команду “resmon” в командной строке или окне “Выполнить”;
  • выбрать “Монитор ресурсов” в меню “Средства” диспетчера серверов.

На каждой вкладке монитора ресурсов информация представлена в табличном и графическом виде. Для того, чтобы в таблицах изменить набор столбцов, нужно щелкнуть по заголовку любого столбца правой кнопкой мыши и нажать “Выбрать столбцы”. Если на любой из вкладок пометить нужные процессы флажком, информация в других таблицах будет автоматически отфильтрована по выбранным значениям.

Сведения об активности процессора, памяти, дисков и сети представлены на отдельных вкладках, а вклада “Обзор” содержит сводную информацию по всем компонентам.

Рассмотрим некоторые полезные возможности монитора ресурсов на Windows.

A. Поиск процесса, блокирующего файл

Бывают ситуации, когда при попытке удалить или изменить файл система выводит сообщение, что файл используется другим приложением и не может быть удален. Для поиска блокирующего процесса нужно ввести часть имени файла в разделе “Связанные дескрипторы”, вкладки “ЦП”. При необходимости процесс можно принудительно завершить.

B. Просмотр дисковой активности

На вкладке “Диск” отображаются операции чтения-записи с диска. На скриншоте показан случай, когда система активно обращается к файлу подкачки “c:/pagefile.sys”, обычно это существенно замедляет работу системы и свидетельствует о нехватки оперативной памяти.

Также следует обратить внимание на показатель “Длина очереди диска”, считается, что он не должен превышать более чем в два раза количество физических дисков. Если на сервере установлен один физический диск, нормальной считается длина очереди 1-2

Частые всплески этого показателя и высокое время активности диска могут говорить о низкой производительности дисковой подсистемы.

C. Просмотр сетевой активности

На вкладке “Сеть” можно выявить процессы создающие нагрузку на сеть. Это могут быть сторонние приложения, как на скриншоте, так и внутренние процессы. Как пример можно привести автоматическое обновление операционной системы.

В разделе “TCP-подключения” будут полезны показатели “Процент потерянных пакетов” и “Задержка”, по этим параметрам можно оценивать качество сетевого соединения.

Кроме этого, на вкладке “Сеть” можно видеть прослушиваемые порты и состояние брандмауэра.

Диспетчер задач и монитор ресурсов могут выявить проблему только при условии, что она наблюдается в момент проведения диагностики, но очень часто проблема проявляется не постоянно, а эпизодически. Далее описываются инструменты для мониторинга состояния системы в течении определенного интервала времени.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: