powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Очень длинный коннекшн к удаленной базе
70 сообщений из 70, показаны все 3 страниц
Очень длинный коннекшн к удаленной базе
    #37624968
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто аврал! Очень нужна помощь!

На работающем проекте на одном сервере находятся маленькие веб-проекты - десятка 4 страничек с формами. На другом сервере (в локальной сети) находится база. Все как бы работало нормально.
Но сейчас что-то случилось и коннект к базе происходит секунд 30-60 (был мгновенный). Раньше могло возникнуть иногда исключение типа такого:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Transaction (Process ID 54) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

Но это было достаточно редко и допускаю, что из-за огромного количества параллельных запросов (коннекшн к базе происходит с каждой странички - jsp-шки, а также из сервлетов) - иногда до 20-30 в секунду.
Я их уговарию на переделку проекта - сделать одно соединение с кешем, чтобы через него шли запросы. Но пока ломаются, да и решить проблему надо срочно.

Например, на первой же странице код такой:
Код: java
1.
2.
3.
4.
5.
6.
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection connect = DriverManager.getConnection(Constants.dbline, Constants.dblogin, Constants.dbpass);
Statement statement = connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
statement.executeUpdate("UPDATE counters SET zippage=1 WHERE id=(SELECT TOP 1 id FROM counters WHERE sessionid='" + sessionid + "' ORDER BY id DESC)");
statement.close();
connect.close();



В чем может быть дело, подскажите. Ну очень нужно - висим!
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37624973
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я бы в первую очередь пошел смотреть performance monitor на серваке, где крутится база, на предмет всякой неведомой херни. Ну а архитектура, конечно, очень печальная, чо уж тут греха таить
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37624976
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck,

Нормально у тебя всё. Может, сеть глючит. Надо проверить.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37624977
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да знаю, что нормально. И все проверено - все как раньше.
Но вот каждое соединение до минуты делается - никуда не годится.
Там, правда, дата-сервер голимый - старый и в последний раз переставлялся в 2006-ом году. Но ведь еще пару недель назад все работало нормально. Правда, меня смущает, что в панели задач SQL Server кушает почти 2 гига памяти.
В чем дело - ума не приложу.

P.S. Да, архитектурка криворукая - делалась под одну страничку, а за 2 года их уже 40. Если бы платили за то, что надо - все было бы пучком. Но экономят на этом. Вот и проблемы рисуются.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37624981
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck,

Архитектура - тоже нормальная. То есть, совсем обычная, как у всех.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37624984
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck,
60 сек коннект?
- перегрузи весь сервак ночью
- очисти диск\корзину
- проверь загрузку сервака-проца
- исключи сеть проверкой коннекта по удалёнке - ssh из нутри него
- очисти логи сервака и бэкапы, обычно они разрастаются и забивают весь диск
- ....
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625023
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeАрхитектура - тоже нормальная. То есть, совсем обычная, как у всех.То есть "все" нынче не знают про такие вещи, как connection poo"? И не знают про закешированные prepared statements? Ну значит печальна нынче ситуация, что уж тут сказать
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625029
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomShSergeАрхитектура - тоже нормальная. То есть, совсем обычная, как у всех.То есть "все" нынче не знают про такие вещи, как connection poo"? И не знают про закешированные prepared statements? Ну значит печальна нынче ситуация, что уж тут сказать
да брось ты.
Пул нужен для публичных веб приложений - сайтов.
А не корпоратива менее 1K-10K коннектов.
Не надо заужать Java проекты.
Оптимизируют где тонко, а не где светло (с)
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625044
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123svenomпропущено...
То есть "все" нынче не знают про такие вещи, как connection poo"? И не знают про закешированные prepared statements? Ну значит печальна нынче ситуация, что уж тут сказать
да брось ты.
Пул нужен для публичных веб приложений - сайтов.
А не корпоратива менее 1K-10K коннектов.
Не надо заужать Java проекты.
Оптимизируют где тонко, а не где светло (с) Пул нужен для экономии ресурсов и для контроля того, сколько подключений к базе имеет место быть в конкретный момент времени.
Далее, корпоратива на Java на несколько порядков больше, чем публичных сайтов, и подавляющее большинство из них использует пулы и работают через DataSource, который получают у сервера через JNDI. То есть это не то что мнение или рекомендация, это то, как работают с Java почти все трехзвенные приложения.
А вы мне тут про какие-то публичные сайты залечиваете
Ну опять таки, без обид, но - джависты, включая автора, сразу увидели жесткий косяк в архитектуре, те же, кому ближе C# (ShSerge, Petro123) - считают, что это нормально. Как говориться - без комментариев
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625045
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,
ты не в том месте бучу затеял.
Длинные транзакции - это не косяк с точки зрения Java.
Его вопрос уже был на форуме.
Сабж топика НЕ в пуле. Это ты понял?
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625046
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,
11944034
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625073
dominator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Пул коннектов лучше использовать всегда. Пул как раз и решит проблемы, описанные в посте,так как пул держит соединения уже открытыми и осуществляет их валидацию и удаление из пула битых коннектов. Плюс время на установление соединения не влияет на скорость работы приложения. Также по росту пула можно легко понять справляется ли база с нагрузкой или нет.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625086
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dominatorPetro123,
Пул коннектов лучше использовать всегда.
Пишёл больной и говорит _сегодня_ болит живот, _срочно_ помогите.
Вы ему о вреде курения будете?
"Курить ВСЕГДА вредно?"
IDVsbruckВсе как бы работало нормально.
Но сейчас что-то случилось и коннект к базе происходит секунд 30-60 (был мгновенный).
я так понял, что ПЕРВЫЙ коннект к БД. Тогда пул не в кассу.
ЗЫ
У меня (совместная с одним челом) тема про длинные транзакции. Что то там все молчат. Напиши там про пул.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625089
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
заметь - "коннект был мгновенный" без пула и "начальство не считает необходимым менять архитектуру".
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625142
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom...без комментариев
Коннекшин-пул - это такая штука, про которую программист и не должен никогда вспоминать. Потому что реализуется сама собой (прослойками) при коннекте. Даже не важно, что за прослойки: JDBC это, ODBC или ADO. Впрочем, некоторые и "ручками" пишут.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625167
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хозяева проекта умеют только считать деньги. Техническая сторона дела их практически не интересует. Из-за меня как разраба они даже уволили техспециалиста с компании (она обслуживала базы и делала репорты). Таким образом, на мне как бы техподдержка их железа и их проектов. Компания в Нью-Йорке, поэтому некоторые вопросы решать сложно.

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

Таким образом, вопрос о пуле открытый - я поддерживаю и вижу выигрыш, да и правильно это. Их планы - до 400 таких подпроектов на сервере. Если на 40 такие лажи, то больше не потянет точно. В пиковые моменты в секунду заходит около 30 человек, а в каждом подпроектике 4 страницы, на каждой из которых есть коннект к базе, а также 3 сервлета, где также присутствуют коннекты. То есть если человек зашел и находится на сайтике, то он может осуществить до 7 коннектов к базе. Ужасно бестолково - это я и сам понимаю, но надо знать как это начиналось, как делалось и какие вопросы решались. Сделать я хочу, но бесплатно - "нафига козе баян"?

А вот проблема присутствует.
Думали, что они подключили какие-то views на базу ... нету. Изменения не вносились. Правда, пару недель база сама перешла в монопольный режим ... почему, непонятно. Исправили, перегрузили.

Вчера откатили базу на начало декабря. Вроде лучше, но тормоза присутствуют все равно.
Место на компе есть точно, беки почистили. Локалка работает нормально - никаких нюансов не замечено, firewall ничего не блокирует.
На страницах присутствовали скрипты для гугловской статистики. Но из-за длительности работы скрипта по коннекту к базе не грузятся. Пока повыкидывал их. Та же фигня.
Брал первую страничку и комментировал коннект к базе. При обращении к страничке срабатывает мгновенно. Убираю коннект - тормоза. То есть проблема точно локализована - это база.
На БД-сервере баз дофига и больше, комп старый, WinServer 2000 и SQL Server 2000 - тоже древний. Но все работало достаточно стабильно и нормально, а тут вдруг такой облом. Главное, что неизвестно что происходит, как решить и как застраховаться на будущее (точнее, понятно - новый сервак и грамотная архитектура).
Загрузка памяти высокая, но процы как на веб-сервере, так и на дата-сервере, не загружены - тут все нормально.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625187
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck,

Раз не платят, толку об архитектуре. Профайлером сиквела посмотри какой Конкретно Запрос тормозит. Обычно причина самая простая.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625194
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще. Как застраховаться? Это работа не разраба а ДБА. Нагрузка в пределах расчетной? Значит эксплуатация.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625197
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckТаким образом, вопрос о пуле открытый - я поддерживаю и вижу выигрыш, да и правильно это. Их планы - до 400 таких подпроектов на сервере. Если на 40 такие лажи, то больше не потянет точно. В пиковые моменты в секунду заходит около 30 человек, а в каждом подпроектике 4 страницы, на каждой из которых есть коннект к базе, а также 3 сервлета, где также присутствуют коннекты. То есть если человек зашел и находится на сайтике, то он может осуществить до 7 коннектов к базе. Ужасно бестолково - это я и сам понимаю, но надо знать как это начиналось, как делалось и какие вопросы решались. Сделать я хочу, но бесплатно - "нафига козе баян"?

Если меня не подводит склероз, медитации на тему ODBC Connection Pool (как минимум) вполне может справиться с вашей проблемой по использованию пула соединений не особо ковыряясь в приложении.

А статистика 30 пользователей хоть и по 7 коннектов на сеанс - копейки даже по состоянию на 10 лет назад
IDVsbruckА вот проблема присутствует.
Думали, что они подключили какие-то views на базу ... нету. Изменения не вносились. Правда, пару недель база сама перешла в монопольный режим ... почему, непонятно. Исправили, перегрузили.

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

Да, уж... Замечательное решение... Так и будете каждый раз откатывать данные на пару месяцев назад?
IDVsbruckБрал первую страничку и комментировал коннект к базе. При обращении к страничке срабатывает мгновенно. Убираю коннект - тормоза. То есть проблема точно локализована - это база.
Нет. Проблема до уровня базы никоим образом НЕ локализована. Она локализована на сервере базы данных
Если исключить глюки операционной системы сервера, тормозить работу сервера баз данных могут и "железные штучки" - проблемы с дисками, памятью и т.п.
IDVsbruckНа БД-сервере баз дофига и больше, комп старый, WinServer 2000 и SQL Server 2000 - тоже древний. Но все работало достаточно стабильно и нормально, а тут вдруг такой облом. Главное, что неизвестно что происходит, как решить и как застраховаться на будущее (точнее, понятно - новый сервак и грамотная архитектура).
Загрузка памяти высокая, но процы как на веб-сервере, так и на дата-сервере, не загружены - тут все нормально.
Нет понятий "старый комп" и "древний сервер". Есть компьютеры и сервера, которые не обслуживается .
Соотвественно, возникшая проблема НЕ находится в архитектуре приложений...
На что, собственно и указывает локализация проблемы, которую вам удалось выполниь своими силами.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625290
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123У меня (совместная с одним челом) тема про длинные транзакции. Что то там все молчат. Напиши там про пул.
Вроде бы вам исчерпывающе ответили здесь http://www.javatalks.ru/viewtopic.php?p=143293#143293
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625298
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckЯ их уговарию на переделку проекта - сделать одно соединение с кешем, чтобы через него шли запросы. Но пока ломаются, да и решить проблему надо срочно.

Чито? Вы предлагаете одну одновременно выполняющаяся транзакция или один одновременный запрос к базе на выборку?
Я бы не то что ломался, а просто пристрелил бы вас на месте или выслал бы за вами киллера в Россию, тут достаточно как вам выше уже указали ввести пул соединений, чтобы коннекшн не открывался при каждом запросе, а брался готовый из пула, ну и когда база слишком уж удалена от сервера приложений это тоже не гуд, нужно с этим что-то в дальнейшем делать, например вводить WEB сервисы, потому как JDBC некошерно себя ведёт когда СУБД далеко от сервера приложений.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625390
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeIDVsbruck,

Нормально у тебя всё. Может, сеть глючит. Надо проверить.
Авторитет молвит, усё нормально! А то, что на открытие каждого коннекшена тратятся ресурсы как сервера приложений так и сервера баз данных авторитета месье сержа волнует.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625395
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba,
OFF
Тянет всё вас на оффтоп и литературу :)
Пул, это самый простейший паттерн. Ещё проще чем синглетон.
Зачем сводить тему к такой ерунде :). (солидарен с мнением выше мемберов)
------------
про ссылку спс. Почитаю. Слабо верится, что там 4-е решение, которого _не было_ у наших спецов в теме.
А у первых 3-х есть недостатки (опять прошу в тему)

sphinx_mv +1
проблема НЕ в архитектуре
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625397
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba,
ВАС тянет на офттоп.
- сколько байт тратит сервер на коннект?
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625399
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123vimba,
ВАС тянет на офттоп.
- сколько байт тратит сервер на коннект?
Причем тут байты? Операция открытия соединения (будь то HTTP или к СУБД) достаточно дорогая. И разными приемами ее стараются избежать. Если СУБД - пулы соединений, если HTTP - keep-alive.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625406
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvPetro123

______________________________________________
Leonidv - вы в игноре 11906276 , 11910058 . Просьба

модератора не флеймить 11932977
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625409
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaЧито? Вы предлагаете одну одновременно выполняющаяся транзакция или один одновременный запрос к базе на выборку?
Я бы не то что ломался, а просто пристрелил бы вас на месте или выслал бы за вами киллера в Россию, тут достаточно как вам выше уже указали ввести пул соединений, чтобы коннекшн не открывался при каждом запросе, а брался готовый из пула, ну и когда база слишком уж удалена от сервера приложений это тоже не гуд, нужно с этим что-то в дальнейшем делать, например вводить WEB сервисы, потому как JDBC некошерно себя ведёт когда СУБД далеко от сервера приложений.
Читай внимательнее. Речь идет о переделке архитектуры под пул запросов.

P.S. Россия? - Упаси боже!
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625420
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123vimba,
ВАС тянет на офттоп.
- сколько байт тратит сервер на коннект?
В моей конфигурации PostgreSQL я выделяю 8 мегабайт на коннект.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625434
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckvimbaЧито? Вы предлагаете одну одновременно выполняющаяся транзакция или один одновременный запрос к базе на выборку?
Я бы не то что ломался, а просто пристрелил бы вас на месте или выслал бы за вами киллера в Россию, тут достаточно как вам выше уже указали ввести пул соединений, чтобы коннекшн не открывался при каждом запросе, а брался готовый из пула, ну и когда база слишком уж удалена от сервера приложений это тоже не гуд, нужно с этим что-то в дальнейшем делать, например вводить WEB сервисы, потому как JDBC некошерно себя ведёт когда СУБД далеко от сервера приложений.
Читай внимательнее. Речь идет о переделке архитектуры под пул запросов.

О какой такой переделке архитектуры идёт речь? Я В ШОКЕ! Согласно DRY у вас должен быть только один метод на все приложение открывающий коннекшн, переписать один метод это пять-десять минут не более, Если кто-то до Вас набыдлокодил и загнал вас в ситуацию когда код взятия коннекшена размазан по всему приложению, то я конечно вам сочуствую но у вас нет другого выхода, кроме как отрефакторить негативно сложившуюся ситуацию.

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

IDVsbruckP.S. Россия? - Упаси боже!
Зря вы так, в рашке наверно даже школьник из восьмого бэ не станет открывать каждый раз коннекшн а воспользуется пулом.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625443
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba ,
вот флудер, так флудер.
авторDatabase Resident Connection Pooling (DRCP) provides a connection pool of dedicated servers for typical Web application scenarios. A Web application typically makes a database connection, uses the connection briefly, and then releases it. Through DRCP, the database can scale to tens of thousands of simultaneous connections.
http://docs.oracle.com/cd/E11882_01/server.112/e10713/dist_pro.htm#CNCPT1896
http://docs.oracle.com/cd/E11882_01/server.112/e10595/manproc002.htm#BABFCIEE
Почему бы твой оффтоп не перенести?
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625446
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaсредства борьбы с нерадивыми разработчиками.
а ты сам разработчик? HelloWorld напишешь?
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625460
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123vimbaсредства борьбы с нерадивыми разработчиками.
а ты сам разработчик? HelloWorld напишешь?
Код: sql
1.
<window title="Hi Petro!123">


Такой хеловорлд на фреймворке ZK в зачёт пойдёт?

Непонятно с чем ты споришь и в чем смысл твоих нападок? Пул в приложении не делают только ламеры(в веб приложении естественно, десктоп отдельная история). Если ты не согласен то тебе прямая дорога воевать с ORACLE, Microsoft, IBM, Redhat, иди и обосновывай им какие они идиоты, потому что мне тебе сказать нечего.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625463
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 vimba ,
Почему бы твой оффтоп не перенести?
Почему оффтоп, я по крайней мере намекнул автору, что есть решения и без переписывания кода, такое как всторить балансировщик между реальным сервером БД и сервером приложений, при этом балансировщик будет вести себя как обычная БД и не потребует переписывания кода, помоему такого решения в этой теме еще не было поэтому оффтопом его не считаю.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625472
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba,
разве я спорю? Я против выражений беспредельщика: - "говнокод, ламеры" и т.д. Не зная проекта автора.
Сейчас ты разделил весь IT на веб и не веб. Завтра ты увидишь другие оттенки.
ЗЫ
Hello не пойдёт, пула не вижу.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625474
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 vimba ,
http://docs.oracle.com/cd/E11882_01/server.112/e10713/dist_pro.htm#CNCPT1896
http://docs.oracle.com/cd/E11882_01/server.112/e10595/manproc002.htm#BABFCIEE
Почему бы твой оффтоп не перенести?
Что ты хочешь сказать этими ссылками? Изъятие коннекшена из спсика находящемся на той же машине быстрее чет отправка запроса на подключения в балансер, при том что нужно еще учесть факт, что в случае балансера все данные будут проходить через третье звено(балансер), которое в случае пула встренного в приложение не нужно, так что я ничего не понимаю что ты хотел сказать этими ссылками, ведь перфоманс полюбому просядет из-за наличия посредника.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625481
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123vimba,
разве я спорю? Я против выражений беспредельщика: - "говнокод, ламеры" и т.д. Не зная проекта автора.
Сейчас ты разделил весь IT на веб и не веб. Завтра ты увидишь другие оттенки.
ЗЫ
Hello не пойдёт, пула не вижу.
Ты его тоже не знаешь поэтому не нужно надрывать свою пятую точку, и наезжать на того кто к тебе ближе географически, это раз. А второе, тот кто в веб не использует пул при соединении с базой это ламер, и я любому объясню почему это так. Хотя конечно средства современных СУБД и позволяют завуалировать последствия его ламерства но не на 100%.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625492
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaЧто ты хочешь сказать этими ссылками?
то что твои слова тут не имею никакого отношения к теме топика и проблеме автора.
Или коротко - OFFTOP. Есть тема для этого - там литература и образы киллера не нужны.
Мне флейм про коня в вакууме неинтересен.
Я прочёл про твой балансировщик.
Удачи !
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625504
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Hello не пойдёт, пула не вижу.
Хорошо тоды так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
import org.springrgframework.dataaccess.JdbcTemplate
<?variable-resolver class="org.zkoss.zkplus.jndi.JndiVariableResolver">
<zk>
<zscript>
    DataSource ds = ${myDatasource};
    JdbcTemplate template = new JdbcTemplate(ds);
    String greating = "Hi" + template.queryForString("select NIK from my_friend where name='petro123'");
</zscript>
<window title="${greating }">
</window>
</zk>



А так в зачет пойдёт? Пул я заюзал, вроде всё необходимое сделал, или ещё будут какие нибудь замечания?
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625506
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123vimbaЧто ты хочешь сказать этими ссылками?
то что твои слова тут не имею никакого отношения к теме топика и проблеме автора.
Или коротко - OFFTOP. Есть тема для этого - там литература и образы киллера не нужны.
Мне флейм про коня в вакууме неинтересен.
Я прочёл про твой балансировщик.
Удачи !
Всё ясно у тебя явно батхерт. Как раз таки вся проблемя автора в излишних открытиях соединений там где это не нужно, правильный путь рещения это переписать код чтобы такого беспредела не происходило, менее затратный но проигрывающий в производительности это встроить посередине балансировщик. Что в предидущем предложении:
1 Тебе кажется неконкретным?
2 Не решающим проблему автора? И каково твоё великолепное решение, если ты не согласен c чем-то?
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625509
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba, :)
когда будет флейм про ОРМ, ты скажешь что: "без ОРМ пишут ламеры". Нужен ОРМ.
ЗЫ.
Аффтар - надоест - дай знать.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625510
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba1 Тебе кажется неконкретным?
2 Не решающим проблему автора? И каково твоё великолепное решение, если ты не согласен c чем-то?
перечитай sphinx_mv . Я не виноват. но он мне больше понравился.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625513
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123vimba, :)
когда будет флейм про ОРМ, ты скажешь что: "без ОРМ пишут ламеры". Нужен ОРМ.
Нет конкретно в этом случае, дело слишком запутанное чтобы раздавать ярлыки направо и налево, я сам в каждом приложении миксую подход с ORM и без него в зависимости от конкретной ситуации, но вот тот кто начинает что-то писать не прочитав спеку и дело заканчивается фейлом, хотя в спеке всё черным по белому расписанно под определение ламера вполне попадает.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625526
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123vimba1 Тебе кажется неконкретным?
2 Не решающим проблему автора? И каково твоё великолепное решение, если ты не согласен c чем-то?
перечитай sphinx_mv . Я не виноват. но он мне больше понравился.
Петя ты вообще в JDBC что нибудь понимаешь? Вникни внимательно в то что предлагает сфинкс:
sphinx_mvЕсли меня не подводит склероз, медитации на тему ODBC Connection Pool (как минимум) вполне может справиться с вашей проблемой по использованию пула соединений не особо ковыряясь в приложении.

Чел предлагает использовать прослойку JDBC/ODBC, которая как снизит перфоманс в связи с тем что возможности родного драйвера от мелкософта не будут задействованы, так и ограничит возможности рамками SunJDBCODBCDriver хотя возможности нативного драйвер написанного мелкософтом намного превосходят его. А это только один момент, второй это то что на linux/unix/solaris нет ODBC, и решение этого трабла приведет к еще одному уровню косвенности. Хотя ты конечно на этом форуме авторитет и тебе выбирать какие решения более оптимальные и масштабируемые, но я с тобой категорически несогласен потому как windows must die.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625527
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaмиксую подход с ORM и без него в зависимости от конкретной ситуации
да я сам удивился увидев у тебя DataSource.
Ладно, пора спать, удачи!
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625545
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckПросто аврал! Очень нужна помощь!

На работающем проекте на одном сервере находятся маленькие веб-проекты - десятка 4 страничек с формами. На другом сервере (в локальной сети) находится база. Все как бы работало нормально.
Но сейчас что-то случилось и коннект к базе происходит секунд 30-60 (был мгновенный). Раньше могло возникнуть иногда исключение типа такого:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Transaction (Process ID 54) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

Но это было достаточно редко и допускаю, что из-за огромного количества параллельных запросов (коннекшн к базе происходит с каждой странички - jsp-шки, а также из сервлетов) - иногда до 20-30 в секунду.
Я их уговарию на переделку проекта - сделать одно соединение с кешем, чтобы через него шли запросы. Но пока ломаются, да и решить проблему надо срочно.

Например, на первой же странице код такой:
Код: java
1.
2.
3.
4.
5.
6.
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection connect = DriverManager.getConnection(Constants.dbline, Constants.dblogin, Constants.dbpass);
Statement statement = connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
statement.executeUpdate("UPDATE counters SET zippage=1 WHERE id=(SELECT TOP 1 id FROM counters WHERE sessionid='" + sessionid + "' ORDER BY id DESC)");
statement.close();
connect.close();



В чем может быть дело, подскажите. Ну очень нужно - висим!

1) Про профайлер на далёком сервере - +1.
2) Посмотреть статистику запроса данных/формирования страниц - возможно кто-то жестоко долбиться в твой сервак - соответственно и тормоза....
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625557
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123vimba, :)
когда будет флейм про ОРМ, ты скажешь что: "без ОРМ пишут ламеры". Нужен ОРМ.
ЗЫ.
Аффтар - надоест - дай знать.
Даю знать!
Воспользовался советами, пооптимизировал базы, поубирал логи в соответствующих таблицах, поработал с сервером - вроде значительно лучше.
Всем огромное спасибо, вроде проблема отошла ... пока.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625590
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaЧел предлагает использовать прослойку JDBC/ODBC, которая как снизит перфоманс в связи с тем что возможности родного драйвера от мелкософта не будут задействованы, так и ограничит возможности рамками SunJDBCODBCDriver хотя возможности нативного драйвер написанного мелкософтом намного превосходят его. А это только один момент, второй это то что на linux/unix/solaris нет ODBC, и решение этого трабла приведет к еще одному уровню косвенности. Хотя ты конечно на этом форуме авторитет и тебе выбирать какие решения более оптимальные и масштабируемые, но я с тобой категорически несогласен потому как windows must die.
Слов-то умных сколько! И я все еще не придумал, что лучше - плакать мне в этом месте или смеяться?
Вот, новость узнал - оказывается, ODBC под linux'ом не существует! О, как! Наверное, google меня обманывает (вместе с парой-тройкой запущенных у меня "автоматов" под линухом)... Пойду, покурю в сторонке что-нибудь отсюда - http://www.unixodbc.org/ Желания присоединиться не возникло?

"Снижение перформанса" - это СУПЕР! Сколько десятых/сотых процента добавится на каждый запрос (для запросов с веба)?
Особеннно, с учетом того, что у ТС вообще, мягко говоря, катастрофическая ситуация...

Ну, а по поводу, что кто-то/что-то там "мастдай" (и это с учетом того, что задача-то с MSSQL работает) - выше всяких похвал!
Я, конечно, понимаю, что переписать работающее рабочее приложение для "крутых програмеров", да еще и перевести его полностью на другую платформу - нефиг делать за полчаса...
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625682
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck,

Я бы оптимизировал запрос. Вхере с сабселектом - вещь очень тормознутая. Используй конструкцию UPDATE ... FROM. Шустродействие может повыситься очень существенно. Это даже не в разы, а на порядки.
А насчёт коннектов - не бери в голову. Так вэб устроен, что каждая страница формируется со своим коннектом. Здесь уж никуда не денешься. Но! Если использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625690
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeЕсли использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта.
было такое, когда с сиквелом работал и надо было выключить по ТЗ
Код: java
1.
connect.ConnectionString = "Data Source=MmySERV;database=MyBase;User ID=Sa;Password=123456789;Pooling=False"
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625691
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. если запросы идут друг за другом, то MS не напрягается и не грохает коннект при закрытии соединения. При повторном коннекте он берёт из пулинга.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625773
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeНо! Если использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта.Ах вооот оно что Что же это за пул такой? Где он расположен?
Ну как можно такой абсурд писать - я просто в шоке. Ну не знаете вы тему разговора - ну не пишите вы ничего. Пул соединений не берется из ниоткуда. Его нужно сначала создать. Либо руками, либо попросить сервер приложений об этом.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625794
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,

RTFMSDN.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625798
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomShSergeНо! Если использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта.Ах вооот оно что Что же это за пул такой? Где он расположен?

В СУБД. Ничто не мешает встроить pgBouncer в СУБД.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625803
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomПул соединений не берется из ниоткуда. Его нужно сначала создать. Либо руками, либо попросить сервер приложений об этом.
Пул не надо создавать, он создаётся автоматически при первом и последующих запросах к базе без всяких телодвижений со стороны программиста.
svenom,
Специально для Вас, тынц .
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625804
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,
vimba (c) 11946394
Горизонтальное масштабирование PostgreSQL с помощью PL/Proxy.
http://habrahabr.ru/blogs/postgresql/45475/
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625807
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,
да, в MS немного другой подход нежели Java.... Как у Сиквела-БД нежели Оракле-БД :)
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625818
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ShSerge,
да, в MS немного другой подход нежели Java.... Как у Сиквела-БД нежели Оракле-БД :)
Ну дык топикстартер и спрашивал про MS SQL.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625829
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergesvenomПул соединений не берется из ниоткуда. Его нужно сначала создать. Либо руками, либо попросить сервер приложений об этом.
Пул не надо создавать, он создаётся автоматически при первом и последующих запросах к базе без всяких телодвижений со стороны программиста.
svenom,
Специально для Вас, тынц .Опять непонимание, опять глупость. Вы хоть прочитали, что написано там? Если нет, то я вам покажу кое-что из того, что написано на этой страничке.
Сначала там сказано:
авторВ драйвере JDBC реализованы необходимые интерфейсы JDBC 3.0, что позволяет драйверу участвовать в любой реализации пулов соединений, предоставляемой поставщиками ПО промежуточного слоя и совместимой с JDBC 3.0.Я уверен на 95%, что вы дальше даже читать не стали. Но что это? Что же там написано дальше?
авторДрайвер JDBC поддерживает пулы соединений Java EE, однако не предоставляет собственную реализацию работы с пулом . Драйверу необходимо, чтобы управление соединениями осуществлялось серверами приложений Java сторонних разработчиков. Ой, ну как обычно - сели в лужу. Это из той же оперы, что и ваш перл с Хибером - "то еще гавно, вытягивает всю таблицу полностю, вот только я никогда его в глаза не видел и не знаю, как это смоделировать".
На всякий случаи небольшой ликбез.
1) Когда вы вызываете что-то типа Connection connect = DriverManager.getConnection(...) , как это написано у автора, ни о каком коннекш пула речи идти не можеи, в этом случае всегда открывается новое соединие.
2) Для работы с пулом соединений нужно работать через интерфейс DataSource . Причем, есть реализации DataSource, которые используют пул, а есть те, которые его не используют. И в той статье, что вы мне показали, как раз написано, что в JDBC от Микрософта есть две реализации DataSource. Более того, там черным по белому написано, что пулом коннекшном должен управлять аппликейшн сервер.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625832
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,
я с тобой согласен, только будь ты "подипломатичнее" :)
- пул в моей строке коннекта реализовывает MDAC MS в COM OleDB в операционке.
- поэтому для программиста напр Delphi - всё прозрачно. Он этим не занимается.
Так же как и асинхронным доступом к БД. Опять всё берёт на себя DAL в виде MDAC MS.
imho
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625843
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,
автор...позволяет драйверу участвовать в любой реализации пулов соединений

Ну позволяет ну и что? Ещё раз повторяю, что для драйвера JDBC к MS SQL никаких телодвижений для создания пула, со стороны программиста, делать не надо. К тому же, внимательно почитайте, что речь идёт о вэбе. Так что коннект Вы никак сохранить не сможете в любом случае. Да, возьмёте из пула, но это всё равно будет другой коннект. Посмотрите значение переменной @@spid для двух разных страниц одного и того же вэб-приложения. Не, даже не так, спид может совпасть, если первый коннект закрыт. Создайте временную табличку с одной решёткой, например #test, а потом попробуйте её открыть на другой странице.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625850
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123svenom,
я с тобой согласен, только будь ты "подипломатичнее" :)
- пул в моей строке коннекта реализовывает MDAC MS в COM OleDB в операционке.
- поэтому для программиста напр Delphi - всё прозрачно. Он этим не занимается.
Так же как и асинхронным доступом к БД. Опять всё берёт на себя DAL в виде MDAC MS.
imhoНу это все к Java никакого отношения не имеет, а потмоу является оффтопом. Просто нашим представителям .Net надо понять, что если у них EF какого-то хреня вытягивает всю таблицу из БД в память, то это не значит, что Java то же так делает. Если .Net пулит коннекшны одним способом, то это не значит, что Java делает это так же. Да, огромное количество подходов в мире .Net скопированы с Java, а потому издалека обе платформы выглядят почти идентичными, но конечные реализации, разумеется различаются, порой диаметрально. ShSerge никак не может это понять и бездумно проецирует все, что есть в .Net на мир Java. Как следствие, у нас каждый второй топик превращается в спор, где либо вы , либо ShSerge приводите просто какие-то фантастические аргументы и домыслы, а джависты вынуждены опровергать эти еретические утверждения, дабы не сбить с толку топик стартера.
Давайте наконец придем к модели общения "подумал - написал", а не просто "написал".
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625861
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeНу позволяет ну и что? Ещё раз повторяю, что для драйвера JDBC к MS SQL никаких телодвижений для создания пула, со стороны программиста, делать не надо. Ну опять чушь, чушь просто полнейшая. Еще раз поясню - через голый JDBC нельзя сделать пул путем вызова DriverManager.getConnection(), как это сделано у автора. В этом случае всегда будет открываться новое соединение. Для того, что бы работа с пулом была возможно надо работать через интерфейс DataSource, причем с той его реализацией, которая поддерживает пулинг. То есть дополнительные телодвижения обязательны. Другое дело, что эти телодвижения обычно перекладываются на апп. сервер, а не делаются руками.

авторК тому же, внимательно почитайте, что речь идёт о вэбе. Так что коннект Вы никак сохранить не сможете в любом случае. Да, возьмёте из пула, но это всё равно будет другой коннект.Очередной перл - хоть стой, Хоть падай. Какая разница веб - не веб? С точки зрения JVM коннекшн к БД это обычный объект, который инкапсулирует в себе открытый сокет. Открытые коннекшны в пуле хранятся в JVM, как и сам пул. Они могут храниться где-то в апп. сервере, если это веб на Томкате - они хранятся где-то в томкате, если это обычная JavaSE - то они хранятся там, где вы сказали.

авторПосмотрите значение переменной @@spid для двух разных страниц одного и того же вэб-приложения. Не, даже не так, спид может совпасть, если первый коннект закрыт. Создайте временную табличку с одной решёткой, например #test, а потом попробуйте её открыть на другой странице.К теме разговора отношения не имеет. Никто не будет хранить временные таблицы между транзакциями. Был уже тут недавно топик про это. Если надо хранить - тогда получайте коннекшн и держите открытым его между транзакциями сами. У пула соединений только одна задача - выдать соединения по запросу программы, разумеется нет никакого отслеживания и корреляции между отдельными запросами соединения.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625866
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomджависты вынуждены опровергать эти еретические утверждения, дабы не сбить с толку топик стартера.
Давайте наконец придем к модели общения "подумал - написал", а не просто "написал".
+1
Только я бы заменил на "разобрался-подумал-написал" ну или "подумал-разобрался-написал".
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625867
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,
ну здесь же не о таблице в память, а о РАЗНЫХ реализациях пула.
Это архитектура. Сам оп себе пул - тьфу - простейший лист с галкой занято.
От технологий MS тебе не спрятаться и голову в песок не засунуть.
Я вот люблю обе сразу. ДвоежОнец я :)
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625875
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomК теме разговора отношения не имеет. Никто не будет хранить временные таблицы между транзакциями. Был уже тут недавно топик про это. Если надо хранить - тогда получайте коннекшн и держите открытым его между транзакциями сами. У пула соединений только одна задача - выдать соединения по запросу программы, разумеется нет никакого отслеживания и корреляции между отдельными запросами соединения.
Во-первых ещё как имеет. А временные таблицы прекрасно себе хранятся между транзакциями. Кстати, есть некоторые моменты - это соединение, пакет и транзакция. Временные таблицы хорошо работают между транзакциями и пакетами (т.е. разными запросами), но не работают между разными коннектами. Между пакетами только таблицы-переменные не работают.
ПС. Ещё раз повторяю, ТС спрашивает о продукции майкрософта, а не о яве вообще. Почитайте внимательно мой пост. Я только предложил, что коннект через MS JDBC работает точно также, как АДО. Вообще-то это только ремарка была. На самом деле, я предложил запрос правильно переписать.
ППС. Свеном, что Вы так возбуждаетесь? Комплексы?
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625892
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeВо-первых ещё как имеет. А временные таблицы прекрасно себе хранятся между транзакциями. Кстати, есть некоторые моменты - это соединение, пакет и транзакция. Временные таблицы хорошо работают между транзакциями и пакетами (т.е. разными запросами), но не работают между разными коннектами. Между пакетами только таблицы-переменные не работают.Все верно - к теме атора это отношения не имеет.

ShSergeППС. Свеном, что Вы так возбуждаетесь? Комплексы?Разумеется. У меня особый комплекс - возбуждаюсь, когда люди пишут то, в чем не разбираются. Ну а если серьезно, я уже объяснил выше почему. Потому что каждый второй топик скатывается в бессмыленные споры из-за того, что вы и еще некоторые участники форума пишут настолько неверные, а порой и глупые вещи, что у меня, как у высококвалифицированного специалиста, волосы дыбом встают, и я вынужден опровергать эти утверждения, дабы люди, которые действительно пытаются в чем-то разобраться, ни в кое случае к вам не прислушивались. А то побежит сейчас гипотетический IDVsbruck выискивать пулы там, где их нет, только из-за того, что у вас что-то как-то работает в ADO. Это не форум ADO, это форум Java.

ShSergeПС. Ещё раз повторяю, ТС спрашивает о продукции майкрософта, а не о яве вообще. Почитайте внимательно мой пост. Я только предложил, что коннект через MS JDBC работает точно также, как АДО. Вообще-то это только ремарка была. На самом деле, я предложил запрос правильно переписать.Вот здесь вы предположили:
ShSergeНо! Если использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта.Потом я объяснил вам что это не так, дал вам ссылки и пищу для размышлений, но вы вместо того, что бы попытаться понять, что я написал, сделали уже не предположение, а утверждение , разумеется, опять неверное:
ShSergeЕщё раз повторяю, что для драйвера JDBC к MS SQL никаких телодвижений для создания пула, со стороны программиста, делать не надо.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625907
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom...А то побежит сейчас гипотетический IDVsbruck ...
Ну, поскай сбегает. Вообще-то, мы с ним давно знакомы. Поверьте, он - не неофит. Если задал вопрос, значит, действительно, что-то не то.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625918
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergesvenom...А то побежит сейчас гипотетический IDVsbruck ...
Ну, поскай сбегает. Вообще-то, мы с ним давно знакомы. Поверьте, он - не неофит. Если задал вопрос, значит, действительно, что-то не то.Разумеется, не то. Там адов ад в коде, о чем писал и он, и я, и часть других участников обсуждения.
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625921
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему утверждение неверное? Я вот наверняка не знаю. Вот Вы и докажите, если Вы знаете. И почему опять? Я что-то не то написал? А-а-а, понял это Вы про ОРМ? Вобщем-то, очень многие, а не только я, считают орм наркотиком для ламеров. Что ломка началась?
...
Рейтинг: 0 / 0
Очень длинный коннекшн к удаленной базе
    #37625929
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeА почему утверждение неверное? Я вот наверняка не знаю. Вот Вы и докажите, если Вы знаете. И почему опять? Я что-то не то написал?Потому что работа с JDBC драйвером Microsoft ничем не отличается от работы драйвера любого другого вендора. А именно:
а) DriverManager.getConnection() всегда приводит к созданию нового соединения с БД.
б) Для работы с пулом соединений нужно использовать не DriverManger, а интерфейс DataSource, инстанс реализации которого надо создавать либо вручную, либо делегировать это контейнеру (как обычно и делают).

ShSergeА-а-а, понял это Вы про ОРМ? Вобщем-то, очень многие, а не только я, считают орм наркотиком для ламеров. Что ломка началась? Нет, вы, увы, не поняли.
...
Рейтинг: 0 / 0
70 сообщений из 70, показаны все 3 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Очень длинный коннекшн к удаленной базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]