1 | ||||||
Многопоточная работа с MySql. Слишко много соединений07.04.2014, 17:29. Показов 3819. Ответов 7
Метки нет (Все метки)
Добрый день!
В приложении, которое работает с базой данных MySql имеется функционал по считыванию данных из базы в отдельных потоках. Для mysql.Connection используется один экземпляр соединения. Создается оно один раз со строкой подключения из файла. Часть класса создания соединения с базой
0
|
07.04.2014, 17:29 | |
Ответы с готовыми решениями:
7
Тип соединение MYSQL. Превышено максимальное количество соединений Android 4.1 на HTC One S: используется слишко много памяти Excel 2002 выдает ошибку слишко много форматов при форматировании Многопоточная запись в бд mysql |
1652 / 1151 / 173
Регистрация: 23.07.2010
Сообщений: 6,858
|
|
07.04.2014, 21:01 | 2 |
Singleton+ThreadStatic - может на 3х-звенку заменить стоит? Клиент дергает сервис, у сервиса - пул соединений?
Не по теме:
0
|
1652 / 1151 / 173
Регистрация: 23.07.2010
Сообщений: 6,858
|
|
07.04.2014, 21:51 | 4 |
к сожалению, с MySQL знаком слабо, гугл про спящие процессы в основном говорит про неверное закрытие соединений.
Теперь "архитектура" Если критичен читатель - может, стоит "кластер" соорудить? На серверах(одном сервере с виртуалками) поднять n MySQL, выделить группы запросов (соответственно, физические таблицы размещать на своей ветке кластера+один сервер (если потребуется) для неизвестных на данный момент запросов). Сервис клиенту предоставляет возможность запросить операцию и сам принимает решение - в где брать данные. Вполне серверов с одинаковой структурой может быть больше одного. Это раз. Два - что делать с INSERT, UPDATE & DELETE. Та же служба вполне может справиться - вопрос в актуальности данных. Как-то так. Но это - теория, куски реализовывал, вместе собрать - негде было. Посему - форумчане - давайте будем поделиться опытом
1
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
||||||
08.04.2014, 10:38 | 5 | |||||
gitarillo, на деле лучше не использовать поле-Connection
следует писать так
1
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
||||||
08.04.2014, 10:44 | 7 | |||||
Сообщение было отмечено gitarillo как решение
Решение
если уж хотите вынести подключение отдельно, то тогда это должно выглядеть как-то так:
gitarillo, еще раз повторюсь - ADO.NET реализован таким образом, что пул подключений существует независимо от существования объектов SqlConnection - на самом деле в его конструкторе идет сначала обращение к пулу, а при удалении - помещение подключения в пул. заново подключение не будет создаватся
1
|
10.04.2014, 10:32 [ТС] | 8 |
Проверил с использованием using. соединения как висели в спящем состоянии, так и висят. По производительности что мой вариант с синглтоном, что с использованием using примерно одинаков. Проблема использования соединения с базой в многопоточном приложении остается открытой
0
|
10.04.2014, 10:32 | |
10.04.2014, 10:32 | |
Помогаю со студенческими работами здесь
8
Как узнать количество доступных соединений к mysql SQLITE и многопоточная работа Многопоточная работа программы Многопоточная работа с БД, отправка данных, обновление. Есть ли готовые решения? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|