|
|
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#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 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37625509&tid=2132774]: |
0ms |
get settings: |
13ms |
get forum list: |
23ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
53ms |
get topic data: |
21ms |
get forum data: |
5ms |
get page messages: |
106ms |
get tp. blocked users: |
3ms |
| others: | 343ms |
| total: | 579ms |

| 0 / 0 |
