|
|
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Просто аврал! Очень нужна помощь! На работающем проекте на одном сервере находятся маленькие веб-проекты - десятка 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. В чем может быть дело, подскажите. Ну очень нужно - висим! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 00:52:12 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Ну я бы в первую очередь пошел смотреть performance monitor на серваке, где крутится база, на предмет всякой неведомой херни. Ну а архитектура, конечно, очень печальная, чо уж тут греха таить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 01:01:48 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, Нормально у тебя всё. Может, сеть глючит. Надо проверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 01:06:21 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Да знаю, что нормально. И все проверено - все как раньше. Но вот каждое соединение до минуты делается - никуда не годится. Там, правда, дата-сервер голимый - старый и в последний раз переставлялся в 2006-ом году. Но ведь еще пару недель назад все работало нормально. Правда, меня смущает, что в панели задач SQL Server кушает почти 2 гига памяти. В чем дело - ума не приложу. P.S. Да, архитектурка криворукая - делалась под одну страничку, а за 2 года их уже 40. Если бы платили за то, что надо - все было бы пучком. Но экономят на этом. Вот и проблемы рисуются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 01:10:05 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, Архитектура - тоже нормальная. То есть, совсем обычная, как у всех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 01:24:17 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, 60 сек коннект? - перегрузи весь сервак ночью - очисти диск\корзину - проверь загрузку сервака-проца - исключи сеть проверкой коннекта по удалёнке - ssh из нутри него - очисти логи сервака и бэкапы, обычно они разрастаются и забивают весь диск - .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 01:53:38 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergeАрхитектура - тоже нормальная. То есть, совсем обычная, как у всех.То есть "все" нынче не знают про такие вещи, как connection poo"? И не знают про закешированные prepared statements? Ну значит печальна нынче ситуация, что уж тут сказать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 10:16:56 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenomShSergeАрхитектура - тоже нормальная. То есть, совсем обычная, как у всех.То есть "все" нынче не знают про такие вещи, как connection poo"? И не знают про закешированные prepared statements? Ну значит печальна нынче ситуация, что уж тут сказать да брось ты. Пул нужен для публичных веб приложений - сайтов. А не корпоратива менее 1K-10K коннектов. Не надо заужать Java проекты. Оптимизируют где тонко, а не где светло (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 10:41:50 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123svenomпропущено... То есть "все" нынче не знают про такие вещи, как connection poo"? И не знают про закешированные prepared statements? Ну значит печальна нынче ситуация, что уж тут сказать да брось ты. Пул нужен для публичных веб приложений - сайтов. А не корпоратива менее 1K-10K коннектов. Не надо заужать Java проекты. Оптимизируют где тонко, а не где светло (с) Пул нужен для экономии ресурсов и для контроля того, сколько подключений к базе имеет место быть в конкретный момент времени. Далее, корпоратива на Java на несколько порядков больше, чем публичных сайтов, и подавляющее большинство из них использует пулы и работают через DataSource, который получают у сервера через JNDI. То есть это не то что мнение или рекомендация, это то, как работают с Java почти все трехзвенные приложения. А вы мне тут про какие-то публичные сайты залечиваете Ну опять таки, без обид, но - джависты, включая автора, сразу увидели жесткий косяк в архитектуре, те же, кому ближе C# (ShSerge, Petro123) - считают, что это нормально. Как говориться - без комментариев ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 11:28:50 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, ты не в том месте бучу затеял. Длинные транзакции - это не косяк с точки зрения Java. Его вопрос уже был на форуме. Сабж топика НЕ в пуле. Это ты понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 11:37:18 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, 11944034 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 11:38:02 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123, Пул коннектов лучше использовать всегда. Пул как раз и решит проблемы, описанные в посте,так как пул держит соединения уже открытыми и осуществляет их валидацию и удаление из пула битых коннектов. Плюс время на установление соединения не влияет на скорость работы приложения. Также по росту пула можно легко понять справляется ли база с нагрузкой или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 12:37:00 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
dominatorPetro123, Пул коннектов лучше использовать всегда. Пишёл больной и говорит _сегодня_ болит живот, _срочно_ помогите. Вы ему о вреде курения будете? "Курить ВСЕГДА вредно?" IDVsbruckВсе как бы работало нормально. Но сейчас что-то случилось и коннект к базе происходит секунд 30-60 (был мгновенный). я так понял, что ПЕРВЫЙ коннект к БД. Тогда пул не в кассу. ЗЫ У меня (совместная с одним челом) тема про длинные транзакции. Что то там все молчат. Напиши там про пул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 12:59:29 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
заметь - "коннект был мгновенный" без пула и "начальство не считает необходимым менять архитектуру". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 13:01:02 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom...без комментариев Коннекшин-пул - это такая штука, про которую программист и не должен никогда вспоминать. Потому что реализуется сама собой (прослойками) при коннекте. Даже не важно, что за прослойки: JDBC это, ODBC или ADO. Впрочем, некоторые и "ручками" пишут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 15:04:34 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Хозяева проекта умеют только считать деньги. Техническая сторона дела их практически не интересует. Из-за меня как разраба они даже уволили техспециалиста с компании (она обслуживала базы и делала репорты). Таким образом, на мне как бы техподдержка их железа и их проектов. Компания в Нью-Йорке, поэтому некоторые вопросы решать сложно. Я им предложил единый проект с динамическими страницами под единой "крышей" - это колоссальный выигрыш по базе, а также единая админка на все подпроекты - и мне кусок работы приличный, и им удобно - администрировать мелочи можно без обращения ко мне, да и репорты со статистикой будут сами смотреть, а не по каждому скрипу обращаться. Но дебаты идут еще с лета. Как бы заказчик "забугорный", проект не совсем мизерный (до 2 месяцев точно), а они экономят и "включают аврал" во время компейна. Таким образом, вопрос о пуле открытый - я поддерживаю и вижу выигрыш, да и правильно это. Их планы - до 400 таких подпроектов на сервере. Если на 40 такие лажи, то больше не потянет точно. В пиковые моменты в секунду заходит около 30 человек, а в каждом подпроектике 4 страницы, на каждой из которых есть коннект к базе, а также 3 сервлета, где также присутствуют коннекты. То есть если человек зашел и находится на сайтике, то он может осуществить до 7 коннектов к базе. Ужасно бестолково - это я и сам понимаю, но надо знать как это начиналось, как делалось и какие вопросы решались. Сделать я хочу, но бесплатно - "нафига козе баян"? А вот проблема присутствует. Думали, что они подключили какие-то views на базу ... нету. Изменения не вносились. Правда, пару недель база сама перешла в монопольный режим ... почему, непонятно. Исправили, перегрузили. Вчера откатили базу на начало декабря. Вроде лучше, но тормоза присутствуют все равно. Место на компе есть точно, беки почистили. Локалка работает нормально - никаких нюансов не замечено, firewall ничего не блокирует. На страницах присутствовали скрипты для гугловской статистики. Но из-за длительности работы скрипта по коннекту к базе не грузятся. Пока повыкидывал их. Та же фигня. Брал первую страничку и комментировал коннект к базе. При обращении к страничке срабатывает мгновенно. Убираю коннект - тормоза. То есть проблема точно локализована - это база. На БД-сервере баз дофига и больше, комп старый, WinServer 2000 и SQL Server 2000 - тоже древний. Но все работало достаточно стабильно и нормально, а тут вдруг такой облом. Главное, что неизвестно что происходит, как решить и как застраховаться на будущее (точнее, понятно - новый сервак и грамотная архитектура). Загрузка памяти высокая, но процы как на веб-сервере, так и на дата-сервере, не загружены - тут все нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 15:43:54 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, Раз не платят, толку об архитектуре. Профайлером сиквела посмотри какой Конкретно Запрос тормозит. Обычно причина самая простая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 16:19:31 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Еще. Как застраховаться? Это работа не разраба а ДБА. Нагрузка в пределах расчетной? Значит эксплуатация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 16:27:08 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
IDVsbruckТаким образом, вопрос о пуле открытый - я поддерживаю и вижу выигрыш, да и правильно это. Их планы - до 400 таких подпроектов на сервере. Если на 40 такие лажи, то больше не потянет точно. В пиковые моменты в секунду заходит около 30 человек, а в каждом подпроектике 4 страницы, на каждой из которых есть коннект к базе, а также 3 сервлета, где также присутствуют коннекты. То есть если человек зашел и находится на сайтике, то он может осуществить до 7 коннектов к базе. Ужасно бестолково - это я и сам понимаю, но надо знать как это начиналось, как делалось и какие вопросы решались. Сделать я хочу, но бесплатно - "нафига козе баян"? Если меня не подводит склероз, медитации на тему ODBC Connection Pool (как минимум) вполне может справиться с вашей проблемой по использованию пула соединений не особо ковыряясь в приложении. А статистика 30 пользователей хоть и по 7 коннектов на сеанс - копейки даже по состоянию на 10 лет назад IDVsbruckА вот проблема присутствует. Думали, что они подключили какие-то views на базу ... нету. Изменения не вносились. Правда, пару недель база сама перешла в монопольный режим ... почему, непонятно. Исправили, перегрузили. Нанять толкового администратора сервера базы данных пробовали? Впрочем, сетевого администратора, скорее всего, тоже не помешало бы... IDVsbruckВчера откатили базу на начало декабря. Вроде лучше, но тормоза присутствуют все равно. Да, уж... Замечательное решение... Так и будете каждый раз откатывать данные на пару месяцев назад? IDVsbruckБрал первую страничку и комментировал коннект к базе. При обращении к страничке срабатывает мгновенно. Убираю коннект - тормоза. То есть проблема точно локализована - это база. Нет. Проблема до уровня базы никоим образом НЕ локализована. Она локализована на сервере базы данных Если исключить глюки операционной системы сервера, тормозить работу сервера баз данных могут и "железные штучки" - проблемы с дисками, памятью и т.п. IDVsbruckНа БД-сервере баз дофига и больше, комп старый, WinServer 2000 и SQL Server 2000 - тоже древний. Но все работало достаточно стабильно и нормально, а тут вдруг такой облом. Главное, что неизвестно что происходит, как решить и как застраховаться на будущее (точнее, понятно - новый сервак и грамотная архитектура). Загрузка памяти высокая, но процы как на веб-сервере, так и на дата-сервере, не загружены - тут все нормально. Нет понятий "старый комп" и "древний сервер". Есть компьютеры и сервера, которые не обслуживается . Соотвественно, возникшая проблема НЕ находится в архитектуре приложений... На что, собственно и указывает локализация проблемы, которую вам удалось выполниь своими силами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 16:33:08 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123У меня (совместная с одним челом) тема про длинные транзакции. Что то там все молчат. Напиши там про пул. Вроде бы вам исчерпывающе ответили здесь http://www.javatalks.ru/viewtopic.php?p=143293#143293 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 19:07:32 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
IDVsbruckЯ их уговарию на переделку проекта - сделать одно соединение с кешем, чтобы через него шли запросы. Но пока ломаются, да и решить проблему надо срочно. Чито? Вы предлагаете одну одновременно выполняющаяся транзакция или один одновременный запрос к базе на выборку? Я бы не то что ломался, а просто пристрелил бы вас на месте или выслал бы за вами киллера в Россию, тут достаточно как вам выше уже указали ввести пул соединений, чтобы коннекшн не открывался при каждом запросе, а брался готовый из пула, ну и когда база слишком уж удалена от сервера приложений это тоже не гуд, нужно с этим что-то в дальнейшем делать, например вводить WEB сервисы, потому как JDBC некошерно себя ведёт когда СУБД далеко от сервера приложений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 19:30:27 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergeIDVsbruck, Нормально у тебя всё. Может, сеть глючит. Надо проверить. Авторитет молвит, усё нормально! А то, что на открытие каждого коннекшена тратятся ресурсы как сервера приложений так и сервера баз данных авторитета месье сержа волнует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 21:49:48 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
vimba, OFF Тянет всё вас на оффтоп и литературу :) Пул, это самый простейший паттерн. Ещё проще чем синглетон. Зачем сводить тему к такой ерунде :). (солидарен с мнением выше мемберов) ------------ про ссылку спс. Почитаю. Слабо верится, что там 4-е решение, которого _не было_ у наших спецов в теме. А у первых 3-х есть недостатки (опять прошу в тему) sphinx_mv +1 проблема НЕ в архитектуре ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 21:54:34 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
vimba, ВАС тянет на офттоп. - сколько байт тратит сервер на коннект? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 21:56:19 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123vimba, ВАС тянет на офттоп. - сколько байт тратит сервер на коннект? Причем тут байты? Операция открытия соединения (будь то HTTP или к СУБД) достаточно дорогая. И разными приемами ее стараются избежать. Если СУБД - пулы соединений, если HTTP - keep-alive. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 22:00:37 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
LeonidvPetro123 ______________________________________________ Leonidv - вы в игноре 11906276 , 11910058 . Просьба модератора не флеймить 11932977 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 22:12:48 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
vimbaЧито? Вы предлагаете одну одновременно выполняющаяся транзакция или один одновременный запрос к базе на выборку? Я бы не то что ломался, а просто пристрелил бы вас на месте или выслал бы за вами киллера в Россию, тут достаточно как вам выше уже указали ввести пул соединений, чтобы коннекшн не открывался при каждом запросе, а брался готовый из пула, ну и когда база слишком уж удалена от сервера приложений это тоже не гуд, нужно с этим что-то в дальнейшем делать, например вводить WEB сервисы, потому как JDBC некошерно себя ведёт когда СУБД далеко от сервера приложений. Читай внимательнее. Речь идет о переделке архитектуры под пул запросов. P.S. Россия? - Упаси боже! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 22:16:50 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123vimba, ВАС тянет на офттоп. - сколько байт тратит сервер на коннект? В моей конфигурации PostgreSQL я выделяю 8 мегабайт на коннект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 22:25:02 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
IDVsbruckvimbaЧито? Вы предлагаете одну одновременно выполняющаяся транзакция или один одновременный запрос к базе на выборку? Я бы не то что ломался, а просто пристрелил бы вас на месте или выслал бы за вами киллера в Россию, тут достаточно как вам выше уже указали ввести пул соединений, чтобы коннекшн не открывался при каждом запросе, а брался готовый из пула, ну и когда база слишком уж удалена от сервера приложений это тоже не гуд, нужно с этим что-то в дальнейшем делать, например вводить WEB сервисы, потому как JDBC некошерно себя ведёт когда СУБД далеко от сервера приложений. Читай внимательнее. Речь идет о переделке архитектуры под пул запросов. О какой такой переделке архитектуры идёт речь? Я В ШОКЕ! Согласно DRY у вас должен быть только один метод на все приложение открывающий коннекшн, переписать один метод это пять-десять минут не более, Если кто-то до Вас набыдлокодил и загнал вас в ситуацию когда код взятия коннекшена размазан по всему приложению, то я конечно вам сочуствую но у вас нет другого выхода, кроме как отрефакторить негативно сложившуюся ситуацию. Есть еще вариант по пределыванию всевозможных костылей: Например косяки архитектуры связанные с отсутсвием пула на уровне приложения в PostgreSQL можно легко подправить через PgBouncer уверен что для других баз существуют аналогичные средства борьбы с нерадивыми разработчиками. Конечно производительность будет слегка проигрывать по сравнению с решением использования пула непосредственно в приложении, но если деваться некуда то и такие костыли дадут весомый прирост в производительности по сравнению с открытием нового соединения под каждый запрос. IDVsbruckP.S. Россия? - Упаси боже! Зря вы так, в рашке наверно даже школьник из восьмого бэ не станет открывать каждый раз коннекшн а воспользуется пулом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 22:40:34 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
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 Почему бы твой оффтоп не перенести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 22:52:02 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
vimbaсредства борьбы с нерадивыми разработчиками. а ты сам разработчик? HelloWorld напишешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 22:55:52 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123vimbaсредства борьбы с нерадивыми разработчиками. а ты сам разработчик? HelloWorld напишешь? Код: sql 1. Такой хеловорлд на фреймворке ZK в зачёт пойдёт? Непонятно с чем ты споришь и в чем смысл твоих нападок? Пул в приложении не делают только ламеры(в веб приложении естественно, десктоп отдельная история). Если ты не согласен то тебе прямая дорога воевать с ORACLE, Microsoft, IBM, Redhat, иди и обосновывай им какие они идиоты, потому что мне тебе сказать нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 23:06:19 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123 vimba , Почему бы твой оффтоп не перенести? Почему оффтоп, я по крайней мере намекнул автору, что есть решения и без переписывания кода, такое как всторить балансировщик между реальным сервером БД и сервером приложений, при этом балансировщик будет вести себя как обычная БД и не потребует переписывания кода, помоему такого решения в этой теме еще не было поэтому оффтопом его не считаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 23:09:10 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
vimba, разве я спорю? Я против выражений беспредельщика: - "говнокод, ламеры" и т.д. Не зная проекта автора. Сейчас ты разделил весь IT на веб и не веб. Завтра ты увидишь другие оттенки. ЗЫ Hello не пойдёт, пула не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 23:18:06 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
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 Почему бы твой оффтоп не перенести? Что ты хочешь сказать этими ссылками? Изъятие коннекшена из спсика находящемся на той же машине быстрее чет отправка запроса на подключения в балансер, при том что нужно еще учесть факт, что в случае балансера все данные будут проходить через третье звено(балансер), которое в случае пула встренного в приложение не нужно, так что я ничего не понимаю что ты хотел сказать этими ссылками, ведь перфоманс полюбому просядет из-за наличия посредника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 23:19:52 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123vimba, разве я спорю? Я против выражений беспредельщика: - "говнокод, ламеры" и т.д. Не зная проекта автора. Сейчас ты разделил весь IT на веб и не веб. Завтра ты увидишь другие оттенки. ЗЫ Hello не пойдёт, пула не вижу. Ты его тоже не знаешь поэтому не нужно надрывать свою пятую точку, и наезжать на того кто к тебе ближе географически, это раз. А второе, тот кто в веб не использует пул при соединении с базой это ламер, и я любому объясню почему это так. Хотя конечно средства современных СУБД и позволяют завуалировать последствия его ламерства но не на 100%. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 23:24:09 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
vimbaЧто ты хочешь сказать этими ссылками? то что твои слова тут не имею никакого отношения к теме топика и проблеме автора. Или коротко - OFFTOP. Есть тема для этого - там литература и образы киллера не нужны. Мне флейм про коня в вакууме неинтересен. Я прочёл про твой балансировщик. Удачи ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 23:31:40 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123Hello не пойдёт, пула не вижу. Хорошо тоды так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. А так в зачет пойдёт? Пул я заюзал, вроде всё необходимое сделал, или ещё будут какие нибудь замечания? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 23:43:49 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123vimbaЧто ты хочешь сказать этими ссылками? то что твои слова тут не имею никакого отношения к теме топика и проблеме автора. Или коротко - OFFTOP. Есть тема для этого - там литература и образы киллера не нужны. Мне флейм про коня в вакууме неинтересен. Я прочёл про твой балансировщик. Удачи ! Всё ясно у тебя явно батхерт. Как раз таки вся проблемя автора в излишних открытиях соединений там где это не нужно, правильный путь рещения это переписать код чтобы такого беспредела не происходило, менее затратный но проигрывающий в производительности это встроить посередине балансировщик. Что в предидущем предложении: 1 Тебе кажется неконкретным? 2 Не решающим проблему автора? И каково твоё великолепное решение, если ты не согласен c чем-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 23:51:11 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
vimba, :) когда будет флейм про ОРМ, ты скажешь что: "без ОРМ пишут ламеры". Нужен ОРМ. ЗЫ. Аффтар - надоест - дай знать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 23:51:48 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
vimba1 Тебе кажется неконкретным? 2 Не решающим проблему автора? И каково твоё великолепное решение, если ты не согласен c чем-то? перечитай sphinx_mv . Я не виноват. но он мне больше понравился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 23:53:50 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123vimba, :) когда будет флейм про ОРМ, ты скажешь что: "без ОРМ пишут ламеры". Нужен ОРМ. Нет конкретно в этом случае, дело слишком запутанное чтобы раздавать ярлыки направо и налево, я сам в каждом приложении миксую подход с ORM и без него в зависимости от конкретной ситуации, но вот тот кто начинает что-то писать не прочитав спеку и дело заканчивается фейлом, хотя в спеке всё черным по белому расписанно под определение ламера вполне попадает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 23:59:44 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123vimba1 Тебе кажется неконкретным? 2 Не решающим проблему автора? И каково твоё великолепное решение, если ты не согласен c чем-то? перечитай sphinx_mv . Я не виноват. но он мне больше понравился. Петя ты вообще в JDBC что нибудь понимаешь? Вникни внимательно в то что предлагает сфинкс: sphinx_mvЕсли меня не подводит склероз, медитации на тему ODBC Connection Pool (как минимум) вполне может справиться с вашей проблемой по использованию пула соединений не особо ковыряясь в приложении. Чел предлагает использовать прослойку JDBC/ODBC, которая как снизит перфоманс в связи с тем что возможности родного драйвера от мелкософта не будут задействованы, так и ограничит возможности рамками SunJDBCODBCDriver хотя возможности нативного драйвер написанного мелкософтом намного превосходят его. А это только один момент, второй это то что на linux/unix/solaris нет ODBC, и решение этого трабла приведет к еще одному уровню косвенности. Хотя ты конечно на этом форуме авторитет и тебе выбирать какие решения более оптимальные и масштабируемые, но я с тобой категорически несогласен потому как windows must die. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 00:13:51 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
vimbaмиксую подход с ORM и без него в зависимости от конкретной ситуации да я сам удивился увидев у тебя DataSource. Ладно, пора спать, удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 00:14:47 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
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. В чем может быть дело, подскажите. Ну очень нужно - висим! 1) Про профайлер на далёком сервере - +1. 2) Посмотреть статистику запроса данных/формирования страниц - возможно кто-то жестоко долбиться в твой сервак - соответственно и тормоза.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 00:44:40 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123vimba, :) когда будет флейм про ОРМ, ты скажешь что: "без ОРМ пишут ламеры". Нужен ОРМ. ЗЫ. Аффтар - надоест - дай знать. Даю знать! Воспользовался советами, пооптимизировал базы, поубирал логи в соответствующих таблицах, поработал с сервером - вроде значительно лучше. Всем огромное спасибо, вроде проблема отошла ... пока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 01:26:31 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
vimbaЧел предлагает использовать прослойку JDBC/ODBC, которая как снизит перфоманс в связи с тем что возможности родного драйвера от мелкософта не будут задействованы, так и ограничит возможности рамками SunJDBCODBCDriver хотя возможности нативного драйвер написанного мелкософтом намного превосходят его. А это только один момент, второй это то что на linux/unix/solaris нет ODBC, и решение этого трабла приведет к еще одному уровню косвенности. Хотя ты конечно на этом форуме авторитет и тебе выбирать какие решения более оптимальные и масштабируемые, но я с тобой категорически несогласен потому как windows must die. Слов-то умных сколько! И я все еще не придумал, что лучше - плакать мне в этом месте или смеяться? Вот, новость узнал - оказывается, ODBC под linux'ом не существует! О, как! Наверное, google меня обманывает (вместе с парой-тройкой запущенных у меня "автоматов" под линухом)... Пойду, покурю в сторонке что-нибудь отсюда - http://www.unixodbc.org/ Желания присоединиться не возникло? "Снижение перформанса" - это СУПЕР! Сколько десятых/сотых процента добавится на каждый запрос (для запросов с веба)? Особеннно, с учетом того, что у ТС вообще, мягко говоря, катастрофическая ситуация... Ну, а по поводу, что кто-то/что-то там "мастдай" (и это с учетом того, что задача-то с MSSQL работает) - выше всяких похвал! Я, конечно, понимаю, что переписать работающее рабочее приложение для "крутых програмеров", да еще и перевести его полностью на другую платформу - нефиг делать за полчаса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 02:46:50 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, Я бы оптимизировал запрос. Вхере с сабселектом - вещь очень тормознутая. Используй конструкцию UPDATE ... FROM. Шустродействие может повыситься очень существенно. Это даже не в разы, а на порядки. А насчёт коннектов - не бери в голову. Так вэб устроен, что каждая страница формируется со своим коннектом. Здесь уж никуда не денешься. Но! Если использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 12:13:49 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergeЕсли использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта. было такое, когда с сиквелом работал и надо было выключить по ТЗ Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 12:26:53 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
т.е. если запросы идут друг за другом, то MS не напрягается и не грохает коннект при закрытии соединения. При повторном коннекте он берёт из пулинга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 12:29:53 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergeНо! Если использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта.Ах вооот оно что Что же это за пул такой? Где он расположен? Ну как можно такой абсурд писать - я просто в шоке. Ну не знаете вы тему разговора - ну не пишите вы ничего. Пул соединений не берется из ниоткуда. Его нужно сначала создать. Либо руками, либо попросить сервер приложений об этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:11:01 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, RTFMSDN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:36:17 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenomShSergeНо! Если использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта.Ах вооот оно что Что же это за пул такой? Где он расположен? В СУБД. Ничто не мешает встроить pgBouncer в СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:42:48 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenomПул соединений не берется из ниоткуда. Его нужно сначала создать. Либо руками, либо попросить сервер приложений об этом. Пул не надо создавать, он создаётся автоматически при первом и последующих запросах к базе без всяких телодвижений со стороны программиста. svenom, Специально для Вас, тынц . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:48:27 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, vimba (c) 11946394 Горизонтальное масштабирование PostgreSQL с помощью PL/Proxy. http://habrahabr.ru/blogs/postgresql/45475/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:49:25 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSerge, да, в MS немного другой подход нежели Java.... Как у Сиквела-БД нежели Оракле-БД :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:52:25 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123ShSerge, да, в MS немного другой подход нежели Java.... Как у Сиквела-БД нежели Оракле-БД :) Ну дык топикстартер и спрашивал про MS SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:03:03 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergesvenomПул соединений не берется из ниоткуда. Его нужно сначала создать. Либо руками, либо попросить сервер приложений об этом. Пул не надо создавать, он создаётся автоматически при первом и последующих запросах к базе без всяких телодвижений со стороны программиста. svenom, Специально для Вас, тынц .Опять непонимание, опять глупость. Вы хоть прочитали, что написано там? Если нет, то я вам покажу кое-что из того, что написано на этой страничке. Сначала там сказано: авторВ драйвере JDBC реализованы необходимые интерфейсы JDBC 3.0, что позволяет драйверу участвовать в любой реализации пулов соединений, предоставляемой поставщиками ПО промежуточного слоя и совместимой с JDBC 3.0.Я уверен на 95%, что вы дальше даже читать не стали. Но что это? Что же там написано дальше? авторДрайвер JDBC поддерживает пулы соединений Java EE, однако не предоставляет собственную реализацию работы с пулом . Драйверу необходимо, чтобы управление соединениями осуществлялось серверами приложений Java сторонних разработчиков. Ой, ну как обычно - сели в лужу. Это из той же оперы, что и ваш перл с Хибером - "то еще гавно, вытягивает всю таблицу полностю, вот только я никогда его в глаза не видел и не знаю, как это смоделировать". На всякий случаи небольшой ликбез. 1) Когда вы вызываете что-то типа Connection connect = DriverManager.getConnection(...) , как это написано у автора, ни о каком коннекш пула речи идти не можеи, в этом случае всегда открывается новое соединие. 2) Для работы с пулом соединений нужно работать через интерфейс DataSource . Причем, есть реализации DataSource, которые используют пул, а есть те, которые его не используют. И в той статье, что вы мне показали, как раз написано, что в JDBC от Микрософта есть две реализации DataSource. Более того, там черным по белому написано, что пулом коннекшном должен управлять аппликейшн сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:12:11 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, я с тобой согласен, только будь ты "подипломатичнее" :) - пул в моей строке коннекта реализовывает MDAC MS в COM OleDB в операционке. - поэтому для программиста напр Delphi - всё прозрачно. Он этим не занимается. Так же как и асинхронным доступом к БД. Опять всё берёт на себя DAL в виде MDAC MS. imho ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:19:50 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, автор...позволяет драйверу участвовать в любой реализации пулов соединений Ну позволяет ну и что? Ещё раз повторяю, что для драйвера JDBC к MS SQL никаких телодвижений для создания пула, со стороны программиста, делать не надо. К тому же, внимательно почитайте, что речь идёт о вэбе. Так что коннект Вы никак сохранить не сможете в любом случае. Да, возьмёте из пула, но это всё равно будет другой коннект. Посмотрите значение переменной @@spid для двух разных страниц одного и того же вэб-приложения. Не, даже не так, спид может совпасть, если первый коннект закрыт. Создайте временную табличку с одной решёткой, например #test, а потом попробуйте её открыть на другой странице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:29:22 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123svenom, я с тобой согласен, только будь ты "подипломатичнее" :) - пул в моей строке коннекта реализовывает MDAC MS в COM OleDB в операционке. - поэтому для программиста напр Delphi - всё прозрачно. Он этим не занимается. Так же как и асинхронным доступом к БД. Опять всё берёт на себя DAL в виде MDAC MS. imhoНу это все к Java никакого отношения не имеет, а потмоу является оффтопом. Просто нашим представителям .Net надо понять, что если у них EF какого-то хреня вытягивает всю таблицу из БД в память, то это не значит, что Java то же так делает. Если .Net пулит коннекшны одним способом, то это не значит, что Java делает это так же. Да, огромное количество подходов в мире .Net скопированы с Java, а потому издалека обе платформы выглядят почти идентичными, но конечные реализации, разумеется различаются, порой диаметрально. ShSerge никак не может это понять и бездумно проецирует все, что есть в .Net на мир Java. Как следствие, у нас каждый второй топик превращается в спор, где либо вы , либо ShSerge приводите просто какие-то фантастические аргументы и домыслы, а джависты вынуждены опровергать эти еретические утверждения, дабы не сбить с толку топик стартера. Давайте наконец придем к модели общения "подумал - написал", а не просто "написал". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:32:30 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergeНу позволяет ну и что? Ещё раз повторяю, что для драйвера JDBC к MS SQL никаких телодвижений для создания пула, со стороны программиста, делать не надо. Ну опять чушь, чушь просто полнейшая. Еще раз поясню - через голый JDBC нельзя сделать пул путем вызова DriverManager.getConnection(), как это сделано у автора. В этом случае всегда будет открываться новое соединение. Для того, что бы работа с пулом была возможно надо работать через интерфейс DataSource, причем с той его реализацией, которая поддерживает пулинг. То есть дополнительные телодвижения обязательны. Другое дело, что эти телодвижения обычно перекладываются на апп. сервер, а не делаются руками. авторК тому же, внимательно почитайте, что речь идёт о вэбе. Так что коннект Вы никак сохранить не сможете в любом случае. Да, возьмёте из пула, но это всё равно будет другой коннект.Очередной перл - хоть стой, Хоть падай. Какая разница веб - не веб? С точки зрения JVM коннекшн к БД это обычный объект, который инкапсулирует в себе открытый сокет. Открытые коннекшны в пуле хранятся в JVM, как и сам пул. Они могут храниться где-то в апп. сервере, если это веб на Томкате - они хранятся где-то в томкате, если это обычная JavaSE - то они хранятся там, где вы сказали. авторПосмотрите значение переменной @@spid для двух разных страниц одного и того же вэб-приложения. Не, даже не так, спид может совпасть, если первый коннект закрыт. Создайте временную табличку с одной решёткой, например #test, а потом попробуйте её открыть на другой странице.К теме разговора отношения не имеет. Никто не будет хранить временные таблицы между транзакциями. Был уже тут недавно топик про это. Если надо хранить - тогда получайте коннекшн и держите открытым его между транзакциями сами. У пула соединений только одна задача - выдать соединения по запросу программы, разумеется нет никакого отслеживания и корреляции между отдельными запросами соединения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:40:44 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenomджависты вынуждены опровергать эти еретические утверждения, дабы не сбить с толку топик стартера. Давайте наконец придем к модели общения "подумал - написал", а не просто "написал". +1 Только я бы заменил на "разобрался-подумал-написал" ну или "подумал-разобрался-написал". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:47:21 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, ну здесь же не о таблице в память, а о РАЗНЫХ реализациях пула. Это архитектура. Сам оп себе пул - тьфу - простейший лист с галкой занято. От технологий MS тебе не спрятаться и голову в песок не засунуть. Я вот люблю обе сразу. ДвоежОнец я :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:47:50 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenomК теме разговора отношения не имеет. Никто не будет хранить временные таблицы между транзакциями. Был уже тут недавно топик про это. Если надо хранить - тогда получайте коннекшн и держите открытым его между транзакциями сами. У пула соединений только одна задача - выдать соединения по запросу программы, разумеется нет никакого отслеживания и корреляции между отдельными запросами соединения. Во-первых ещё как имеет. А временные таблицы прекрасно себе хранятся между транзакциями. Кстати, есть некоторые моменты - это соединение, пакет и транзакция. Временные таблицы хорошо работают между транзакциями и пакетами (т.е. разными запросами), но не работают между разными коннектами. Между пакетами только таблицы-переменные не работают. ПС. Ещё раз повторяю, ТС спрашивает о продукции майкрософта, а не о яве вообще. Почитайте внимательно мой пост. Я только предложил, что коннект через MS JDBC работает точно также, как АДО. Вообще-то это только ремарка была. На самом деле, я предложил запрос правильно переписать. ППС. Свеном, что Вы так возбуждаетесь? Комплексы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:58:14 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergeВо-первых ещё как имеет. А временные таблицы прекрасно себе хранятся между транзакциями. Кстати, есть некоторые моменты - это соединение, пакет и транзакция. Временные таблицы хорошо работают между транзакциями и пакетами (т.е. разными запросами), но не работают между разными коннектами. Между пакетами только таблицы-переменные не работают.Все верно - к теме атора это отношения не имеет. ShSergeППС. Свеном, что Вы так возбуждаетесь? Комплексы?Разумеется. У меня особый комплекс - возбуждаюсь, когда люди пишут то, в чем не разбираются. Ну а если серьезно, я уже объяснил выше почему. Потому что каждый второй топик скатывается в бессмыленные споры из-за того, что вы и еще некоторые участники форума пишут настолько неверные, а порой и глупые вещи, что у меня, как у высококвалифицированного специалиста, волосы дыбом встают, и я вынужден опровергать эти утверждения, дабы люди, которые действительно пытаются в чем-то разобраться, ни в кое случае к вам не прислушивались. А то побежит сейчас гипотетический IDVsbruck выискивать пулы там, где их нет, только из-за того, что у вас что-то как-то работает в ADO. Это не форум ADO, это форум Java. ShSergeПС. Ещё раз повторяю, ТС спрашивает о продукции майкрософта, а не о яве вообще. Почитайте внимательно мой пост. Я только предложил, что коннект через MS JDBC работает точно также, как АДО. Вообще-то это только ремарка была. На самом деле, я предложил запрос правильно переписать.Вот здесь вы предположили: ShSergeНо! Если использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта.Потом я объяснил вам что это не так, дал вам ссылки и пищу для размышлений, но вы вместо того, что бы попытаться понять, что я написал, сделали уже не предположение, а утверждение , разумеется, опять неверное: ShSergeЕщё раз повторяю, что для драйвера JDBC к MS SQL никаких телодвижений для создания пула, со стороны программиста, делать не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 16:15:52 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom...А то побежит сейчас гипотетический IDVsbruck ... Ну, поскай сбегает. Вообще-то, мы с ним давно знакомы. Поверьте, он - не неофит. Если задал вопрос, значит, действительно, что-то не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 16:40:08 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergesvenom...А то побежит сейчас гипотетический IDVsbruck ... Ну, поскай сбегает. Вообще-то, мы с ним давно знакомы. Поверьте, он - не неофит. Если задал вопрос, значит, действительно, что-то не то.Разумеется, не то. Там адов ад в коде, о чем писал и он, и я, и часть других участников обсуждения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 16:58:14 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
А почему утверждение неверное? Я вот наверняка не знаю. Вот Вы и докажите, если Вы знаете. И почему опять? Я что-то не то написал? А-а-а, понял это Вы про ОРМ? Вобщем-то, очень многие, а не только я, считают орм наркотиком для ламеров. Что ломка началась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 16:59:59 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergeА почему утверждение неверное? Я вот наверняка не знаю. Вот Вы и докажите, если Вы знаете. И почему опять? Я что-то не то написал?Потому что работа с JDBC драйвером Microsoft ничем не отличается от работы драйвера любого другого вендора. А именно: а) DriverManager.getConnection() всегда приводит к созданию нового соединения с БД. б) Для работы с пулом соединений нужно использовать не DriverManger, а интерфейс DataSource, инстанс реализации которого надо создавать либо вручную, либо делегировать это контейнеру (как обычно и делают). ShSergeА-а-а, понял это Вы про ОРМ? Вобщем-то, очень многие, а не только я, считают орм наркотиком для ламеров. Что ломка началась? Нет, вы, увы, не поняли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 17:11:46 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2132774]: |
0ms |
get settings: |
12ms |
get forum list: |
19ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
60ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
151ms |
get tp. blocked users: |
3ms |
| others: | 392ms |
| total: | 673ms |

| 0 / 0 |
