|
|
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
есть такое Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. грешил на mysql, но судя по 18325072 mysql не виноват. может быть влияет время выполнения самого запроса? он длится 36 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 10:18 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
может кто подскажет какие параметры отвечают за долгое выполнение запроса, более 30 секунд? есть подозрение, что драйвер отправляет повторные запросы через какое-то время. если от базы не пришло ответа вовремя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 14:13 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадяможет кто подскажет какие параметры отвечают за долгое выполнение запроса, более 30 секунд? А аналогичный запрос из любой тулзы? А включить логирование в mysql и посмотреть? вадяесть подозрение, что драйвер отправляет повторные запросы через какое-то время. если от базы не пришло ответа вовремя... Это вряд ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 14:31 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
DriverManager.getConnection тоже может отнимать существенное время. Оно включено в тест? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 14:32 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вот Код: java 1. 2. 3. 4. 5. 6. 7. при 28000 выполняется без проблем из другой тулзы тоже нормально, нагрузка на проц опускается до 0 после отправки данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 15:56 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадя Код: java 1. тип курсора при возварте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 16:07 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Petro123, ResultSet rs; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 16:31 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадяPetro123, ResultSet rs; я в курсе что такое слово там есть. Я спросил про Type of ResultSet. Покопай в этом направлении. Типы могут быть разными и результат\время тоже. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 16:54 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
в данном случае меня устраивает по умолчанию что там. даже не смотрел. в принципе устроит и ResultSet.TYPE_SCROLL_INSENSITIVE и ResultSet.TYPE_FORWARD_ONLY если они будут играть какую-то роль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 17:29 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадяв данном случае меня устраивает по умолчанию что там. вот и я не понял твоего сабжа. Что 36 сек, что 56 сек., какая разница. Всё рано много)). А настроек при LIKE столько, что теряется сам смысл вопроса. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 17:33 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадя, Я правильно понял вашу проблему. Есть запрос (хранимка) который вычитывает много-много данных. В БД он отрабатывает шустро и это видно по плану запроса? Но когда запрос выполняется из JDBC сервер сильно тормозит, вычитывая все необходимые данные вместо того чтобы отдать скроллируемый курсор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 17:44 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадя, А можно весь код посмотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:09 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Blazkowiczчтобы отдать скроллируемый курсор? я думаю, это и есть тип курсора который наду установить. Тогда при проходе в коде в цикле, драйвер будет подкачивать следующие записи. Или не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:13 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Petro123вадяв данном случае меня устраивает по умолчанию что там. вот и я не понял твоего сабжа. Что 36 сек, что 56 сек., какая разница. Всё рано много)). А настроек при LIKE столько, что теряется сам смысл вопроса. IMHO ну из-за чего такая разница, и почему она есть это вопрос отдельный. а то что время большое - в этом нет ничего удивительного всё в принципе работы like %что-то%, а именно из-за первого процента настроек при like нет , по крайней мере в том виде , что используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:17 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадя, А можно весь код посмотреть? вызов Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. хранимка Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:23 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадя, То есть данных едет мало? Тормозит исключительно выборка? Так надо лог mysql смотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:28 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадя, Я правильно понял вашу проблему. Есть запрос (хранимка) который вычитывает много-много данных. В БД он отрабатывает шустро и это видно по плану запроса? Но когда запрос выполняется из JDBC сервер сильно тормозит, вычитывая все необходимые данные вместо того чтобы отдать скроллируемый курсор? запрос высчитывает ограниченное число данных - Limit 5, только 5 строк удовлетворяющих условию like %что-то% отрабатывает он не очень шустро, но это и понятно - такое like %что-то% сканирует всю таблицу, до тех пор пока не наберёт 5 строк. сервер их набирает и отдаёт, пока он их отбирает проц грузит на 100%, это понятно, т.к. все данные в памяти. проблема в том, что когда данные отданы проц ещё кучу времени нагружен на 100%. если это же выполнить из dbForge проц , после отдачи, идет курить бамбук. вот и возникает вопрос - почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:32 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадяпроблема в том, что когда данные отданы проц ещё кучу времени нагружен на 100%. если это же выполнить из dbForge проц , после отдачи, идет курить бамбук. закрой коннект и курсор драйвера. после Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:37 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
из амерь время на этой строке. До и после. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:38 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадя, То есть данных едет мало? Тормозит исключительно выборка? Так надо лог mysql смотреть. время отдачи одинаково. я смотрю менеджер сессий и там (при jdbc) идет выполнение этого запроса, как-будто jdbc шлёт и шлет запросы, не получив вовремя ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:39 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Petro123вадяпроблема в том, что когда данные отданы проц ещё кучу времени нагружен на 100%. если это же выполнить из dbForge проц , после отдачи, идет курить бамбук. закрой коннект и курсор драйвера. после Код: java 1. счас сделаю. а разве java 8 не закрывает сама всё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:45 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадякак-будто jdbc шлёт и шлет запросы, не получив вовремя ответ sbb.append(list_names(rs).toString()); это всё таки твой код, а не драйвера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:46 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Petro123вадякак-будто jdbc шлёт и шлет запросы, не получив вовремя ответ sbb.append(list_names(rs).toString()); это всё таки твой код, а не драйвера Там 15 несчастных строк. Тормозит исключительно выборка по огромной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:47 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадяа разве java 8 не закрывает сама всё? вам шашечки или ехать? Т.е. мы Java8 проверяем иил драйвер? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:49 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТам 15 несчастных строк. Тормозит исключительно выборка по огромной таблице. может быть. Я просто люблю чистое, убранное место перед работой и тестами. Такие тараканы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:50 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадяа разве java 8 не закрывает сама всё? ResultSet вне заголовка try with resource. Я видел утечки памяти по такой причине. Connection и Statement закрывали, а ResultSet - нет. Канекшны, вроде, не утекали, но текла память. Всё от драйвера зависит, но лучше закрывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 18:57 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадяя смотрю менеджер сессий и там (при jdbc) идет выполнение этого запроса, как-будто jdbc шлёт и шлет запросы, не получив вовремя ответ Я такое видел на уровне TCP, когда при медленном соединении прокси убивал запросы по таймауту, а клиентское приложение сходило с ума и начинало слать их снова и снова, до первого успешного. Надо читать мануал по драйверу и посмотреть на трафик, действительно ли драйвер отправляет множество запросов. Может тогда timeout какой подкрутить на клиенте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 19:00 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
ещё можно попробовать включить лог Что-то типа ?logger=com.mysql.jdbc.log.Log4JLogger в строке соединения. И посмотреть в уровне TRACE/DEBUG че там происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 19:05 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадяя смотрю менеджер сессий и там (при jdbc) идет выполнение этого запроса, как-будто jdbc шлёт и шлет запросы, не получив вовремя ответ Я такое видел на уровне TCP, когда при медленном соединении прокси убивал запросы по таймауту, а клиентское приложение сходило с ума и начинало слать их снова и снова, до первого успешного. Надо читать мануал по драйверу и посмотреть на трафик, действительно ли драйвер отправляет множество запросов. Может тогда timeout какой подкрутить на клиенте? вот что-то подобное и у меня в доках я не смог углядеть. http://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html авторзакрой коннект и курсор драйвера. после sbb.append(list_names(rs).toString()); не помогло. повторюсь, проблема не в быстродействии (тут выше не прыгнешь) - проблема в том что грузит mysql, после того как он отдал найденные записи, и jdbc их отдал клиенту. при 28000 всё летает. и эти данные если они набираются за малое время- всё нормально, проц после отдачи скулем данных успокаивается а при долгом отборе - нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 19:39 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадяпроблема в том что грузит mysql, после того как он отдал найденные записи, и jdbc их отдал клиенту. ну тогда конкретно: - минимальный код с циклом пробежки по рекордсету - время закрытия в лог - время освобождения соединения в БД. .... В торой тест - запуск друго запроса на этот же коннект сразу за первым. .... Тестируй. Кому счас легко))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 20:01 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Petro123, можешь забрать всё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 20:59 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадя, как ты догадался, что jdbc работает странно? Зачем ты ищешь параметры таймаута на соединении, а не на стейтменте? Уверен, что прерывание текущего выполнения и перезапиос выполняет именно jdbc? Может книжку какую годную найдешь на полистать об используемых тобой инструментах и средах, а то ведь они так и будут работать - странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 00:35 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
boobyвадя, как ты догадался, что jdbc работает странно? Зачем ты ищешь параметры таймаута на соединении, а не на стейтменте? Уверен, что прерывание текущего выполнения и перезапиос выполняет именно jdbc? Может книжку какую годную найдешь на полистать об используемых тобой инструментах и средах, а то ведь они так и будут работать - странно. потому как видел нагрузку на сервере, а всё остальное работало как надо и проявлялось только на очень долгом запросе. оказалось, что долгий запрос стал индикатором другой ошибки - отправлялось на сервер множество запросов, jquery события накладывались. а логи убрал - потому как код многократно использовал, понадеялся, что сканает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 04:59 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадяPetro123, можешь забрать всё Проблемы у тебя, а не у меня. Когда у меня, я все это делаю). Даж шибболе приходилось ставить. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 08:22 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Petro123, и мне приходилось.... дак тут ... не шмог... ты натолкнул то пиво твоё. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 10:35 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
вадя, моя твоя не понимай). Сделал что-ли? Я думал там проект для теста, а там пиво виртуальное))) LOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 11:28 |
|
||
|
странно работает jdbc
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, моя твоя не понимай). Сделал что-ли? Я думал там проект для теста, а там пиво виртуальное))) LOL ну дак да, следуя твоим подсказкам :) проблема решилась в js файле добавлением 1 буковки вместо ...).on( поставил ...).one( это у jquery и смех и грех... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 12:50 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2124762]: |
0ms |
get settings: |
14ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
187ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 562ms |

| 0 / 0 |
