Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2015, 16:44   #31
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

> Растет GC heap 0
что и требовалось доказать. Создаете много лишнего много-много раз в секунду (.net не запускает сборку мусора из соображений производительности), а потом приплетаете мифическую несуществующую утечку памяти (разницу между memory leak и несобранным мусором нулевого поколения сами загуглите)
Если вас коробит, что потребляется много памяти - либо чистите её руками (как сейчас, но это бредовый вариант), либо оставьте эту обязанность .net'у.

А лучше количество создаваемых объектов бы сократили. С SqlConnection хотя бы, как вам уже подсказали
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 16.09.2015, 16:56   #32
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Я не совсем понимаю вариант с SqlConnection, то есть имеется в виду что-то вроде следующего.
То есть вынести SqlConnection глобально, убрать using чтобы не делать Dispose объекту но делать sqlConnection.Close?

Правильно я понял?
coNsept вне форума Ответить с цитированием
Старый 16.09.2015, 17:16   #33
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну да. или у тебя там настолько крутые задачи, что требуют полного распарралеливания?
Виталий, там пул подключений, не надо никаких глобальных подключений.
пул сам следит за актуальностью и за количеством.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.09.2015, 21:05   #34
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

При такой частоте обращений к БД закрывать подключение вообще не следует, на его повторное установление тратится порядочно ресурсов
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 16.09.2015, 21:17   #35
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
на его повторное установление тратится порядочно ресурсов
Вот и я о том же. Пул этот не оправдывает нагрузки на сервер СУБД. Да и невыгодно своим пулом перебивать пул самой СУБД.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.09.2015, 21:21   #36
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так пул же для этого, по идее не тратится сильно много.

А вообще посмотрите в DotMemory что происходит, может совсем и не подключения память жрут, а в той части, где обработка смс.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 16.09.2015, 21:24   #37
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
по идее не тратится сильно много.
Ну много не много, а с такими "скоростями" как заявлено все же ресурсы сьедаются хорошо. У меня похожее было при работе с Ораклом, тоже около 500 запросов в секунду (со станка данные) шло. Мрак. Пришлось пересматривать всю стратегию программы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.09.2015, 14:05   #38
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Может кому пригодиться, немного спасает задницу сей прекрасный параметр PreferFairness.

Код:
  var task = new Task(() =>
   {
    try
    {
     //...
    }
    catch (Exception ex)
    {
     //...
    }
   }, TaskCreationOptions.PreferFairness);

   task.Start();

   task.ContinueWith(t =>
   {
    try
    {
     t.Dispose();
    }
    catch (Exception ex)
    {
     //...
    }
   });
coNsept вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
утечка памяти polin11 Общие вопросы C/C++ 10 18.08.2015 18:12
Утечка памяти Juffin Общие вопросы Delphi 3 02.11.2010 12:11
Анимация (большая Нагрузка на процессор) BuT@JL Мультимедиа в Delphi 6 24.08.2009 09:43
Преобразование типов - большая нагрузка на ЦП ArtUrlWWW Общие вопросы .NET 1 19.05.2009 14:41
утечка памяти в С++ vengo Общие вопросы C/C++ 9 10.06.2008 21:24