Мне нужна ваша помощь.Запуск приложения медленный
Я сделал консольное приложение с C# net.4.5 анса AWSSDK v3.3, чтобы настроить мой вход в инстанс при запуске.
Мой Probleme есть при первом запуске моего экземпляра (Windows Server 2008R2) приложение начиная КРАЙНЕ медленно и работает КРАЙНЕ медленно.
Действительно, я использую «планировщик заданий», чтобы запустить приложение во время загрузки.
Когда я перезагружаю экземпляр или перезапускаю (или даже новый запуск) приложение, работающая в порядке.
- Когда я запустить приложение вручную: задание (все то, что приложение есть TODO) завершено менее чем за 40 secondes.
Когда я запускаю приложение во время загрузки с планировщиком задач: задача занимает более 5 минут! завершить. (Какой холодный старт!)
Я отложила начало моего приложения (с/timout .bat) (90secondes)>приложение по-прежнему экстремально медленно ...
- У меня есть задержка начала моего приложения (с/timout .bat) (300 секунд), чтобы быть абсолютно уверенным в том, что все .net-фреймы полностью загружен>everithing work fine!
Итак, теперь я должен бежать сотни спот-экземпляров с этим приложением запуска .... если я потерять 5 минут при запуске на каждом отдельном случае, я буду потерять looot денег!
Что вы думаете о моем случае? вы думаете, что я прав о предварительной загрузке каркаса .net? можно ли это быстрее загружать?
Мне известно о ngen.exe, я попробовал его на .exe и dlls. но проблема все та же. Я думаю, что проблема более глобальна, не специфична для моего приложения.
Для справки:
в моем приложении С SDK я использую:
- EC2InstanceMetadata
- AmazonS3Client
- GetObjectRequest
- GetObjectResponse
Полномочия являются магазин d ine app.config
Все эти классы называются один раз. (без повторной петли).Я имею в виду, если нет интернет-приложения, это приведет к сбою приложения или возврату Exception. Приложение выполнено в VS 2015, а dll AWSSDK находятся в корневой папке .exe
Спасибо, что обратились за помощью!
---------------------------- править ----------------- -
Простой тест с простой чистой консолью (шаблон Visual Studio 2015) (запись 100 txt-файлов на C :). Я запустил программу при запуске с планировщиком задач, и он достиг 5 минут, чтобы выполнить эту огромную задачу ... так что кажется, что проблема не в моем коде.
Редактировать: Я также попробовал простое тестовое приложение с «.net framework 3.5 client». то же самое ... приложение висит в течение 4 минут, а затем выполняет эту работу. (Всего 6 минут).
@ MaLiN2223 Возможно, создание сервиса, а не консольного приложения - это решение ... я должен попробовать. Что мое приложение запуска сделать:
DONWLOAD файлы на Amazon S3
получить экземпляра Информации AWS-SDK
Запуск или остановка службы
Изменение значения в .ini
Сетевой сетевой адаптер
чтения значение, XML
запуска приложений
для вашей информации, тест кода:
using System;
using System.IO;
using System.Diagnostics;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 100; i++)
{
Console.Write("Writting file nb: " + i.ToString());
File.Create(@"C:\test_" + i.ToString() + ".txt");
}
log();
Console.ReadKey();
}
static void log()
{
using (StreamWriter writer = new StreamWriter("C:\\test_log.txt"))
{
var uptime02 = new PerformanceCounter("System", "System Up Time");
uptime02.NextValue(); //Call this an extra time before reading its value
var timeTowrite = TimeSpan.FromSeconds(uptime02.NextValue());
writer.WriteLine(timeTowrite);
}
}
}
}
Это может быть ** крайне ** трудно отладить это для нас без какого-либо кода. Вы применили некоторые политики к этому серверу Windows? Потому что: [Это может быть так) (https://support.microsoft.com/en-us/help/969972/you-encounter-a-slow-application-startup-or-a-slow-logon-on- а-компьютер-что-это-беговые окна-сервер-2008-или-Windows-Vista, после того, как вы-применять программное обеспечение-рестрикционная политика). Я также рекомендую вам прочитать [ЭТО] (https://blogs.technet.microsoft.com/markrussinovich/2010/12/06/the-case-of-the-slow-project-file-opens/), это ** может ** помочь выявить проблему. – MaLiN2223
(Второй комментарий, потому что у меня нет персонажей) Вы также можете найти некоторые профилирующие приложения, установленные там, где они, как известно, вызывают замедление запуска. – MaLiN2223
Вы поете свои собрания? –