Разминка .NET-приложение

1278
boj

У нас проблемы со скоростью в корпоративной среде.

Большинство ноутбуков сильно загружены: время запуска Excel составляет 3-5 минут, Outlook 10-15 минут и т. Д.

Наше приложение имеет то же время запуска, что и обычные 10-20 секунд. Если однажды это началось, то после перезапуска программы все работает нормально.

Как можно прогреть наше приложение?

Моей первой попыткой было написать небольшой скрипт и запустить его прямо перед запуском нашего приложения:

  • подключиться к локальному серверу SQL и получить некоторые данные
  • Предварительно нагруженные сборки
  • ???

Но я думаю, что этого недостаточно - или совершенно ошибка.

Редактировать:

У них есть ноутбуки IBM Thinkpad X40 с 1 ГБ оперативной памяти. Установлена ​​специализированная Windows XP (я думаю, что это + фоновые установщики являются корнем всех наших проблем).

3
10 - 15 минут для запуска Outlook! WTF? 14 лет назад 9
Да ... нормальная загрузка Windows ~ 20 минут. Фильм ужасов. 14 лет назад 0
Похоже, кто-то должен обновить с этих Pentium II Matthew Ruston 14 лет назад 5
Каковы характеристики этих ноутбуков? Rick 14 лет назад 0
Репост к суперпользователю. 14 лет назад 3
Если другие приложения загружают так много, то, конечно, никакой скрипт не поможет вашему приложению. Как быстро загружается простое консольное приложение? 14 лет назад 1
Это не проблема программирования, а аппаратная. Если ваше приложение работает медленно, когда все остальные приложения явно не являются проблемой программирования. Patrick Desjardins 14 лет назад 0
Это классическая программно-аппаратная проблема: люди, ориентированные на аппаратное обеспечение, скажут, что это проблема с программным обеспечением (например, * почему бы просто не переключиться на linux? Он работает на 386-ой! *), А специалисты по программному обеспечению скажут, что это просто аппаратная проблема (* да ладно, это должно быть потому, что вы не используете последнюю версию Core Ikickass! *) Robert P 14 лет назад 2
@ Гру: Я проверю это, хорошая идея. @ Даок: правда ... но если второй старт быстрый, то должно быть решение. @ Роберт: но, может быть, не сейчас :) 14 лет назад 0

10 ответов на вопрос

8
Dale Reidy

Если машины сильно перегружены, я бы поспорил с начальством о том, что проблемы заключаются в предоставлении ИТ-персонала компании. Я бы сказал, что любое время, потраченное на разработку, было бы злонамеренным

6
sventevit

Может быть, немного наивно, но все же ... форматировать и переустанавливать Windows :-)

У компании ~ 300 ноутбуков ... как я уже сказал, это корпоративная среда. Так что это не совсем вариант :) 14 лет назад 1
Может быть, у вас дома, но корпоративные ИТ не работают так 14 лет назад 2
Если в вашей корпоративной системе нет способа массового переформатирования дисков, купите его. Это стоит того. Robert P 14 лет назад 1
4

Возможно, это проблема с перемещаемым профилем? Я не знаю о вашей программе, но Excel и Outlook активно используют папку «Пользователь», которая, вероятно, хранится где-то в вашей корпоративной сети для каждой учетной записи Active Directory. Я предполагаю, что либо сеть, либо система хранения слишком медленные для ваших 300+ пользователей.

3
Rick

Что вы имеете в виду сильно загружен?

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

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

Но это не принесет пользы, если вы сделаете что-то еще в это время, то есть откроете Outlook, закроете Outlook, откроете Excel - сделайте какую-то работу, тогда, если вы снова откроете Outlook, он не откроется быстро, т.е. ваше первоначальное предложение попробовать и автоматически открыть и закрыть ваше приложение (при загрузке?) не поможет.

Я имею в виду, что что-то всегда работает в фоновом режиме: установщики, приложения безопасности и т. Д. Я проверил это: половина ОЗУ пуста (0,5 ГБ), загрузка ЦП составляет ~ 8-10% ... но все равно ооочень медленно , 14 лет назад 0
3
David Basarab

Вот хорошая статья об ускорении времени запуска приложения.

Улучшение времени запуска приложения

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

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

хорошая статья ... есть ли шанс, что мы могли бы получить краткий отрывок, а не отрывок из тизера? 14 лет назад 4
2
Florian Doyon

Вам также следует рассмотреть возможность использования распределенных оптимизированных встроенных сборок, которые позволят отработать JIT во время запуска / раннего жизненного цикла приложения.

Взгляните на NGEN, он в основном делает JIT во время компиляции, и еще какую-то магию предварительной загрузки!

http://msdn.microsoft.com/en-us/library/6t9t5wcf%28VS.80%29.aspx

Ура, Флориан

1
Klay

Вы или кто-то, имеющий какое-то влияние, должны быть в состоянии убедительно обосновать необходимость потери производительности из-за непомерного времени запуска. Должно быть ясно, что в очень короткие сроки затраты на обновление ОЗУ окупятся за счет увеличения производительности. Черт возьми, если вам приходится ждать по 15 минут четыре раза в день (я уверен, что это консервативная оценка), вы теряете 12,5% своего рабочего дня КАЖДЫЙ ДЕНЬ. Умножьте это на 300 ноутбуков, и ...

О, ты должен работать в федеральном агентстве!

согласен - но что мы можем сделать как маленький продавец против большой компании? :) 14 лет назад 1
1

Какие показатели вы видите через диспетчер задач?

Какой процесс потребляет больше всего ресурсов процессора?

Какие процессы потребляют оперативную память?

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

сколько ошибок страниц по каким процессам?

Что такое конфигурация компьютеров и какое программное обеспечение?

У них нормальные значения с CPU и RAM, я проверю ваши последние 3 вопроса. Но в чем смысл ошибок страниц? (Я использую sysinternals Process Explorer, у меня есть подробная информация о сбоях страницы. Диспетчер задач на машинах отключен.) 14 лет назад 0
IBM Thinkpad X40 со специализированной Windows XP. Программное обеспечение работает на .NET 1.1 и использует MSDE в качестве сервера базы данных. 14 лет назад 0
1
Psycogeek

Есть способы, чтобы выписать belotion, на систему и различные программы. и удаление ненужного мусора по всей системе, и отключение «функций», которые часто вообще не являются функциями. если бы я оказался в вашей ситуации, я бы взял ОДИН и сбил его, и каждый раз, когда я находил элементы чревоугодия и распутства, я записывал это в свой простой сценарий. как из реестра с использованием очень простых пакетов удаления, так и с дисков, а также из-за стартапа и служб. Затем я проверил бы созданную формулу на имеющейся у меня машине, затем позаимствовал еще одну маленькую свинку и тоже удалил ее жир. добавить в проверку типов сетевых соединений и параметров для сетевых соединений.

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

0

Как намекал Саймон выше, это не та проблема, которую вы пытаетесь обойти, используя сценарий разминки. Я бы предложил серьезные обновления аппаратного и программного обеспечения. Я имею в виду 15 минут, чтобы начать прогноз?

Похожие вопросы