none
Задачи, запускаемые планировщиком Windows 7 стали сильно тормозить RRS feed

  • Вопрос

  • Добрый день,

    Я запускаю автоматизированные тест с помощью задачи, настроенной в планировщике. Задача запускается от имени текущего пользователя. Работа с компьютером, на котором запускаются тесты, происходит удаленно. Сеанс удаленного доступа всегда завершался по команде Выйти.

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

    В ночь с 22 на 23 ноября что-то пошло не так, и тесты вместо привычных 4 часов, заняли 7 часов. Анализ временных интервалов между тестами и сравнение с предыдущими прогонами показал, что в определенные моменты прогон тестов резко замедлялся.

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

    Попытка понять причину не увенчалась успехом. В целом по наблюдениям  за весь ноябрь, подобные ситуации возникали регулярно, но не столь масштабно. В результате некоторых ухрещений (taskkill /F /IM chrome.exe после каждого теста), удалось снизить время прохождения тестов до 5, 5 часов, Когда типичный прогон занимает не более 4 часов.

    Кроме того, если запустить тесты в действующем сеансе (т.е. не с помощью планировщика) тесты проходят штатно - не более 4 часов, никаких проблем с размножением chromedriver и паразитных chrome процессов нет.

    Пытался изменить приоритет исполнения задач в планировщике с 7 (по умолчанию) на 2. Это не помогло. Пока обхожусь сторонним планировщиком, который загружен как процесс и запускает задачу в открытом всегда сеансе удаленного доступа.

    Хотелось бы понять

    1 Как работает сеанс запуска задачи из планировщика (он работает в контексте службы, а не explorer)?

    2 Можно ли как-то получить дополнительную диагностическую информации по работе в этом режиме (визуализировать например, чтобы увидеть, что же там такое происходит)?

    3 Если возможность обеспечить такую же производительность работы, как и при прямом запуске задачи?

    7 декабря 2020 г. 9:55

Все ответы

  • когда задача выполняется в сеансе пользователя она выполняется интерактивно, когда же из планировщика, то режим уже non-interactive. Эти 2 режима часто являются причиной различных проблем с gui приложениями. В вашем случае, я бы на физическом ПК установил win10 pro, настроил роль hyper-v, в ней создал VM и запускал бы задачи интерактивно всегда в сеансе текущего пользователя.

    при этом на вм я бы больше ничего не делал. 

    на w7 можно посмотреть в сторону virtual box, vmware workcentre или подобных решений того же сценария

    так же стоит учитывать тот факт что хромдрайвер и сам хром браузер регулярно обновляются и всегда стоит использовать совместимые (часто последние версии) этого по


    The opinion expressed by me is not an official position of Microsoft

    7 декабря 2020 г. 10:21
    Модератор
  • Да, спасибо за ответ.

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

    Я сейчас перехожу на виртуалку, решил сразу на линуксовую, но у меня с литнуксом опыт с гулькин нос, потому процесс затянулся. Да и ресурсов пока маловато. Chromedriver обновляю регулярно.

    Я записал даже такой фильм: https://youtu.be/YkOJuBK0Upw?t=470 - как раз идет непонятное клонирование процесса chromedriver и далее начинаются проблемы с производительность.

    Процесс запущен из-под планировщика. я его могу наблюдать только опосредовано через диспетчер задач и логи сервера.


    7 декабря 2020 г. 19:27