Home » Windows » Сервер терминалов тормозит

Сервер терминалов тормозит

График загрузки сервера

Углубленный онлайн-курс по MikroTik

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

Есть у меня в хозяйстве 2 сервера терминалов Windows Server 2008 R2, на каждом из которых активно работают 25-30 человек. Занимаются обычной офисной работой: создание и редактирование документов в Microsoft Office 2010, работа с почтой в Microsoft Outlook 2010, серфинг в интернете, работа с 1С:Предприятие 8.3 и прочая офисная мелочевка. Обеспечивают их работу 2 достаточно мощных сервера с двумя Xeon на каждом борту, 32 Гб оперативной памяти, RAID SAS контроллер c дисками 10k и 15k.

Пока количество пользователей не приблизилось к 30-ти на каждом сервере, каких-то ощутимых торможений, мешающих нормальной работе, не было. Когда же подошли к этой цифре, сервера стали ощутимо тормозить, раздражая пользователей. Торможения выражались в задержках обычных операций редактирования, создания, перемещения файлов, навигации по папкам. Все вроде работает, но как-то медленно, раздражает, иногда картинка замирает на 1-2-3 секунды, потом продолжается работа.

Проводим тесты

Начал разбираться, в чем же дело. В первую очередь подумал на дисковую подсистему, которая просто перестала справляться с нагрузкой. Чтобы убедиться в этом, открыл оснастку "Производительность", добавил счетчик "Средняя длина очереди диска" (Average Disk Length Queue/sec), экземпляр "_Total" и стал следить. Мои подтверждения оказались верны. Среднее значение было в районе 2-4, что плохо. Тормоза начинают ощущаться при значениях от 1.5 и выше. Рекомендации в интернете говорят о том, что при значении выше 1 дисковая подсистема не справляется с нагрузкой и надо что-то предпринимать по увеличению производительности. В моем случае улучшать производительность это значит покупать новые, достаточно дорогостоящие серверные SSD диски, так как сейчас и так стоят дорогие и быстрые SAS диски со скоростью вращения 15к.

Мониторинг активности жесткого диска

Я решил провести еще немного тестов. Выбрал тот же счетчик, но в качестве экземпляра взял 2 логических диска по отдельности. Вот тут меня ждал сюрприз. Оказывается, нагрузка была не на все диски, а только на логический системный раздел C:, где установлена операционная система. Все пользовательские данные хранятся на диске D:, нагрузка на него была в пределах 0.2-0.5. Я же изначально предполагал обратное. Думал, что нагружен раздел с пользовательскими данными, где хранятся многогигабайтные PST файлы Outlook, которые постоянно подгружаются во время работы почтового клиента.

Стоит рассказать об уровнях рейд, которые я использовал. Теперь стало ясно, что разбивал диски я не правильно, ожидая повышенную нагрузку на разделы с пользовательскими данными. Система Windows Server 2008 R2 установлена на RAID-1, состоящий из двух дисков. Пользовательские данные лежат на RAID-5, состоящий из 4-х дисков. Чем я руководствовался, когда разбивал диски именно так, сейчас уже не помню, но это явно неправильно. Думаю, надо было сделать один общий RAID-10 или RAID-6 раздел, разбить его на 2 логических и разместить систему отдельно от пользовательских данных. Таким образом была бы более равномерная нагрузка на все диски.

Снижаем нагрузку на жесткий диск

Главной задачей стало снижение нагрузки на системный диск. В первую очередь перенес файл подкачки с системного диска на пользовательский раздел. Помогло это не сильно, так как оперативной памяти достаточно, использование файла подкачки было минимальным. Я стал смотреть с помощью монитора ресурсов, что же нагружает больше всего дисковую подсистему. Оказалось, что браузеры, в моем случае Internet Explorer и Google Chrome, а конкретно, их кэши. Стал думать, как перенести кэш. С Хромом оказалось все просто. Для него существуют ADM файлы для управления настройками через групповые политики домена windows. Скачать их можно тут https://support.google.com/chrome/a/answer/187202?hl=ru

Chrome ADM файлДальше создаем новую политику, добавляем ADM шаблон, находим настройку "Указать каталог для пользовательских данных", ставим значение "D:\${user_name}\Application Data\Chrome". После применения этой настройки профиль пользователя с диска С: будет перемещен по указанному пути. Там же в настройках укажем максимальной размер папки кэша: "Установить кэш диска в байтах" равный 50 мб, ставим значение в байтах "52428800".

 

 

Chrome GP

С Internet Explorer все оказалось сложнее. Настройку в групповой политике, позволяющей переместить папку Temporary Internet Files в другое место я найти не смог. Тут был вариант использовать перемещаемый профиль, но мне не захотелось с этим связываться ради такой задачи. Я нашел одну настройку, которая мне частично могла помочь в моем вопросе: "Empty Temporary Internet Files folder when browser is closed". Включил ее, чтобы временные файлы интернета автоматически очищались при закрытии браузера. Хотя у меня настроено в GPO перемещение папки (Folder Redirection) "AppData(Roaming)" на другой диск, не системный, часть настроек все равно не переносятся и остаются на системном диске, в том числе и папка с временными файлами интернета.

Эти настройки позволили снизить нагрузку на системный раздел. Далее было решено отказаться от серверного антивируса Касперского, необходимость в котором отпала. Ранее я настроил на терминалах Applocker для запрета запуска произвольных исполняемых файлов. Пользователи могли запускать только строго ограниченный набор программ, так что вирусы при всем желании они запустить бы не смогли. Отключение антивируса еще снизило нагрузку.

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

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

term_graf

Онлайн-курс по устройству компьютерных сетей.

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

16 комментариев

  1. Владимир, добрый день. Не нашёл куда лучше написать. Подскажите сталкивались ли с такой проблемой:
    На сервере развёрнут Hyper-V 2019, на нём вирт. машины, из них вирт. машина для 1С через терминальный доступ RemoteAPP Windows Server 2008 R2 - 1С работает замечательно, тесты GILV_TPC_G1C_83 от 1С выше 50 попугаев.
    Решил обновиться до Windows Server 2012 R2 и тут меня ждал сюрприз, с такими же параметрами результат теста до включения роли "Службы удалённых рабочих столов" выше 50, после включения службы падает ниже 27.

    На Windows Server 2008 R2, когда то возникла проблема, что 1С стала тормозить, специалисты по 1С долго не могли разобраться, тест показывал 27 баллов. Дело тогда оказалось в питании, а именно в режиме питания, был режим сбалансированной нагрузки, после изменения на максимальную производительность, тесты показали более 50 баллов 1С стала летать.

    Далее я развернул на той же машине Windows Server 2016 и 2019, результаты теста на пустой ОС без ролей 30 и 18. Менял режим питания результат такой же.
    Не могу понять что происходит, почему на 2012 производительность падает после включения службы удалённых рабочих столов, на 2016 без неё, на 2019 вообще ниже плинтуса.

    ЦПУ Xeon E5 2683 V4.
    Хар. вирт. машины: ЦПУ 8, ОЗУ 16гб (динамическая память), на ССД диске вирт. диск

    • Не знаю даже, что сказать. Так трудно судить, в чём конкретно дело. Разные редакции Windows Server могут прилично отличаться, особенно что касается дров и поддержки железа. Можно попробовать какой-то мониторинг развернуть и посмотреть, что с ресурсами в момент прогона тестов. Для чистоты экспериментов динамическую память я бы убрал и задал её явно.

      А в целом, тенденции всегда таковы, что каждая новая система на одном и том же железе будет работать медленнее, чем предыдущая. Хотя конечно, такая разница, как у вас, это слишком много.

      • Большое спасибо, буду копать дальше. На стат. памяти пробовал, результат тот же.

  2. > сколько времени понадобится для разворачивания из бэкапов
    Практика тоже с этим совпадает? ) А то вот даже не знаю, где бы проводились учения:
    - мелкие ещё не дорастают до демо-тест стендов, часто ценой и размером значительно дублирующих инфраструктуру
    - крупные руководство начинает бояться административно, кроме цены вопроса, когда предприятие на день приостанавливать...

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

    > Надо было нормально донести информацию
    Работа с вероятностями, а это дело такое:
    шанс в 0,1% по законам Паркинсона случается как 94%, а 10% - может потребовать 1000 ситуаций, прежде чем произойдет
    Это всё справедливо для некого идеального сферического коня, реалии гораздо более суровы и дики
    Когда директору или владельцу нужен виноватый, потому что вот этот 0,1% случился и из-за простоя сорван контракт или отчёт
    можно 100 раз нормально донести информацию, иметь отличные отношения - но нужна административная жертва
    Сколько из директоров могут взять кроме ответственности ещё и вину на себя? Каждый десятый? В лучшем случае

    > тогда к тебе претензий не будет
    Вы смотрите глазами руководителя: есть некий конфликт, в котором хорошо, если сторон только 2,
    А не 6, образующие группы интересов, притом пересекающихся множеств, где каждое тело может входить в несколько враждующих групп
    Но всё равно - каждая приводит не понятные, а то и сомнительно-спорные аргументы, естественно оправдывающие в свою пользу
    И есть факт - на вверенной сотруднику территории произошло пролюбодеяние с появлением кучи дерьма

    > с приведенной ранее информацией.
    Знаете, даже у хостеров бывает такое, что сервер погибает в питницу ночером
    Даже поминутно расписанный регламент имеет значительные отклонения:
    начиная от эффекта домино с бегающими по нодам виртуалками и заканчивая многочасовой выдачей запчастей со склада
    (Truestory: в 23 часа только сторож, который имеет одну инструкцию: охранять, хватать и не пущать,
    бузотёры ночуют в КПЗ, а менеджеру, даже если не пьяный и не прыгает с парашютом -
    физически надо пару часов добраться до склада с пригорода, чтобы приложить свой ключ или поставить подпись)

  3. > Все упирается в целесообразность финансовых затрат.
    Меньше потратишь - больше возвращать придётся © В смысле, чем меньше траты ИТ, тем больше - на свежий эйпл и кукурузер

    > не получила ни разу простоя бизнеса из-за ИТ проблем
    Так это прямые руки, светлая карма и прочий косвенный нюанс. Кому-то фартит, годами и SOHO железки живут в 4 9ки

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

    > Зачем платить больше, если и такое решение достаточно?
    См выше шифровальщики и игишы. То, что нормально 5 лет назад, может стать очень плохим ещё позавчера
    Один такой работодатель жил 3 года. Затем реформы, сказали "и половины оклада эникея много будет, чем занят?".
    Глюпый пингвин сопротивлялся, правду-матку искал и резал. Когда ушёл, контора пол-года собирала выбитые зубы сломанными руками
    Обошлось ей хз сколько миллионов упущенной выгоды, кроме навсегда утраченных стратегических возможностей и репутации
    Классический пример реализации такого правила: предыдущие ндцать лет прокатывало, а однажды перестало
    Это же лавина, очень трудно предсказать момент: какая соломинка переломит хребет, какая капля вызовет сход лавины
    Вспомнил случай знакомого (уже покойный (( ) Жила шара, рейд, фряха-самба. Жила сама по себе, крутилась лет 5, если не 10.
    Однажды сказала "караул устал" Курьером корзину увезли в другой город, даже в городе-миллионнике специалистов не нашлось
    Чтобы быстро расковырять сказёвый рейд (кроме развала наверняка механически битый) с древней фряхой

    Надо уметь экономить не только свои, но и чужие деньги.
    Справедливо и логично, когда ИТ -акционер предприятия, бонусы, опционы и прочее вовлечение. Может ещё тендеры и аутсорсы
    Дак и то - для CEO,у нас же речь о сетке, где и штатная единица может быть дорого/не предусмотрена
    Не говоря уже о среднем админе, которому платится средний чек по рынку, хоть 25, хоть 125 тысяч
    В общем, чей доход-расход если связан с бизнесом, то весьма косвенно-опосредованно, занимая в оном единицы %, а то и доли оных

    • Это уже другая тема пошла. Шифровальщики, рейды и прочее вопрос бэкапов. То, что они нужны сомнения нет ни у кого. Там уже стоит вопрос о методах и средствах, которые будут зависеть от стоимости времени простоя.

      • Отчего же другая? Браузер - вполне себе такой хайвей для бэкдоров, троянов и шифровальщиков.
        Плюс это вот всё: огнелис, жрущий гигабайты, флеш и джава, жрушие к гигабайтам ещё гигагерцы
        Ну и целом - централизация системы: падение/простой сервера приводит к падению всего
        Да, это может произойти никогда, летом повидал несколько сетей без домена из десятков ПК с адм правами
        А может прямо сегодня: новый человек с плохой кармой или просто в запарке, кликнул не туда...
        Настоящий Дамоклов меч - риск, хоть и потенциальный, огромный, а выхлоп - так себе
        Профит если кто имеет - так это руководство и владельцы, админ - в лучшем случае премию до половины оклада

    • Я всегда адекватно рассказываю руководителю, сколько времени понадобится для разворачивания из бэкапов и какие данные с какой частотой туда попадают. Потом выдаю примерный расклад по ценам, сколько стоят изменения в любую сторону. Он принимает решение, сколько готов платить и за какой бэкап. И никогда по этой теме у меня проблем не было. Главное всегда обо всем информировать. Если начальник неадекватен немного, то письменно, но я с такими не работаю. Мне достаточно обычных разговоров и объяснений.

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

  4. > сервер терминалов > серфинг в интернет
    Мсьё знает толк в извращениях © Дальнейшее наступление на грабли ожидаемо, вопрос времени: как пользователь откроет трёхзначный набор вкладок(#нуяжекварталработал!сисадмин казёл! Truestory) или запустит танчики либо ещё-какой майнинг. Учитывая, что современный браузер - отдельный уровень абстракций, жрущий кучу ресурсов. Плюс закопанный целый склад своих костылей и грабель веб-пограммизма в духе "куяк-продакшен". Возникший тормоз/глюк на голубом глазу и стремительный позыв будет воткнут в мозг админу
    Не говоря уже про безопасность, просто админячьей задницы: на вопрос органов: банчила ядрён-батон - ты хто? Что последует?
    Терминальный биллинг - отдельный песнь, могут не только лишь все, да и те хромают ногой на обе-две в силу технологии
    > хранятся многогигабайтные PST файлы Outlook
    Вот это уже костыль: колхозный почтальон хранят локально, а путёвый админ - централизованно, сиречь на почтовике

    ЗЫ Не в обиду: после прочтения нескольких статей, сложилось впечатление: сколь грамотное администрирование, столь отсутствие стратегического планирования. Закономерный плавный скат администрирования в менеджмент по клинингу: на вопрос - а занафиг это вот всё тут? Наверняка (если) следует ответ:Так надо! ЗаСД! 30 пользователей - какой-то аутсорс или всё? Если второй случай - тогда понятно

    • Замечания справедливы, спорить смысла нет. Эта статья была написана давно, несколько лет назад. Хранить почту в pst плохая затея, но так было всегда в этой компании и, в принципе, всех устраивало. Рассматривались другие варианты, но отметались, так как надо было деньги тратить, а так как работало и так, то принимали решение их не тратить.

      Вот только что не так с браузером? У людей были полноценные рабочие места. В терминале было все. Какие есть варианты? Выносить серфинг отдельно? Тогда надо решать вопрос с тонкими клиентами, синхронизациями закладок и т.д. В общем, я не вижу хорошей и удобной альтернативы.

      А вообще, я уже давно не администрирую windows, не пишу по теме статьи и не считаю себя большим специалистом в ней. Какие-то общие вещи знаю о сервисах microsoft (ad, dns, dhcp и др.) но не считаю себя специалистом в этих делах.

      • > несколько лет назад
        централизованные хранилища были еще в эксчендж 2000 и в начале нулевых )

        > так было всегда в этой компании и, в принципе, всех устраивало
        так оно всегда и везде, за редким исключением. Лишь подтверждающим статистику в палате
        > так как надо было деньги тратить
        Вооот ) Ключевой момент, характеризующий клининг-менеджмент и конкуренцию ИТ в нём с вахтёрами

        > а так как работало и так, то принимали решение их не тратить.
        Пара-тройка случаев утраты профилей ;-), далее всё тоже предсказуемо:
        - сисадмин меняется на более другую обезьянку - кореш зампомзава гл бухгалтера
        - Если ИТ'шник не дворник на основой ставке, руководство чешет репу и где бобо, открывает кошелёк

        > Вот только что не так с браузером?
        То, что это уже давно отдельное приложение, не уступающее песочнице по своей виртуализации
        С огромным количеством дыр, граблей и костылей
        > У людей были полноценные рабочие места. В терминале было все. Какие есть варианты?
        На мой ламерский взляд: виртуалками побить терминалки на фермы. Профили выпнуть на NAS, а то и SAN
        > В общем, я не вижу хорошей и удобной альтернативы.
        Так её нет в общем то, тем более для браузеров, где версии могут обновляться чаще перезапуска браузера
        Везде свои плюсы и минусы, вопрос сообразности, критичности и целеполагания
        Особенно, где вопрос упирается в бюджет, с конкуренцией на более свежий огрызок

        • Так то рассуждать можно много и предложений строить. Все упирается в целесообразность финансовых затрат. Компания, где я работал с этим терминалом (а их вообще несколько было) не получила ни разу простоя бизнеса из-за ИТ проблем, так что вопрос определенной экономии в том случае считаю был оправдан.

          Так что и локальная почта и браузер в общем сеансе были вполне себе хорошими решениями в том случае. Зачем платить больше, если и такое решение достаточно?

          В ИТ надо аккуратно все считать и прикидывать. Я совершенно осмысленно и оправданно предлагаю решения, которые могут показаться не слишком удобными и надежными, но если мне кажется, что они целесообразны в данном случае и будут достаточны, то я их предлагаю. Это тоже навык и его надо развивать. Надо уметь экономить не только свои, но и чужие деньги.

  5. Аноним

    с терминалом я пока не сталкивался. А как вы переносили пользовательские данные на раздел D?

  6. Аноним

    скрины пропали

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar