|
|
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
Привет, сейчас есть такая конфигурация - немного устаревший APEX 4.2.5.00.08, листенер задеплоин на Weblogic (не ORDS). База - 12.1.0.2. Планируется проапгрейдить до APEX 5 и начать использовать ORDS 3. Так как сейчас используется Weblogic от Enterprise Manager Cloud Control, что не есть правильно, то будет использоваться Tomcat. Я поставил ORDS 3 на Tomcat 7, направил его на приложение и сразу же заметил ощутимое проседание по производительности. Начал смотреть с БД и трассировка отображения одной и той же страницы отличается во много раз. Вот самый "вопиющий" пример: Медленный (ORDS): Код: plsql 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. Быстрый (без ORDS): Код: plsql 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. Т.е. время выполнения бысрого - 42454, а медленного 1048166. И такое поведение наблюдается постоянно - ORDS медленно, без него быстро. Что это может такое быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 11:53 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
ChitagoТ.е. время выполнения бысрого - 42454, а медленного 1048166 это в попугаях? Оптимизация ради оптимизации не делается. Вы заменили сразу 2 уровня и хотите одинаковости в цифрах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:12 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
Petro123ChitagoТ.е. время выполнения бысрого - 42454, а медленного 1048166 это в попугаях? Оптимизация ради оптимизации не делается. Вы заменили сразу 2 уровня и хотите одинаковости в цифрах. Вы не выспались? Я же вроде показал, что это файл трассировки. Там всё в микросекундах (1/1'000'000), начиная с девятой версии, насколько я помню. Разница в выполнении только этой процедуры 26 раз. Это заметная разница при отображении страниц. Очень заметная. А есть ещё и другие процедуры. Все страницы отображаются 2-3 секунды. Без ORDS - отображение моментальное. Два уровня - это сервер приложений (Tomcat) и ORDS? Я бы всё-таки Tomcat пока не трогал. И таки да, я хочу одинаковости в цифрах. А с чего бы вдруг нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:25 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
ChitagoВы не выспались? ===== я чётко разделяю вопросы админа и вопросы разработчика. А также вопросы сферических коней или абстрактных тестов по тактам процессора. Разница в выполнении только этой процедуры 26 раз. Это заметная разница при отображении страниц. Очень заметная. ==== с этого бы и начинали = скрин загрузки в JS отладчике. (профилировка) Все страницы отображаются 2-3 секунды. ==== другое дело Два уровня - это сервер приложений (Tomcat) и ORDS? Я бы всё-таки Tomcat пока не трогал. И таки да, я хочу одинаковости в цифрах. А с чего бы вдруг нет? === проще делить пополам. Меняйте по одному и тесты сюда. Там ещё и пул есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:36 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
я менял сразу с EPG на ORDS - разница заметна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:38 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
Спасибо за желание помочь, конечно. Но я не совсем понял зачем мне надо "профилировать" что-то там в JS отладчике, если я уже знаю, что у меня в БД PL/SQL процедура работает медленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:51 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
Chitago, Может разница, потому что сервера разные ? Включите apex debug на обоих страницах и посмотрите, в каком месте и что именно тормозит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 13:05 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
SvDev, Это одна и та же страница. Просто доступ к ней из разных мест - через листенер на Weblogic и через ORDS на Tomcat. Тормозит БД - самый тормоз я уже показал, есть ещё несколько. Т.е. по какой-то причине вызовы PL/SQL (или может быть рекурсивные вызовы из процедур) из ORDS выполняются в разы медленнее. В трассировке видно, что с переменными привязки что-то не так. Когда из ORDS, то для mxl в скобочках 16000. Может как-то влияет. Я просто уже не знаю до чего докопаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 13:12 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
ChitagoЯ просто уже не знаю до чего докопаться. уже говорил - меняйте по частям, а не сразу 2 уровня. Там куча настроек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 13:15 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
ChitagoСпасибо за желание помочь, конечно. Но я не совсем понял зачем мне надо "профилировать" что-то там в JS отладчике, если я уже знаю, что у меня в БД PL/SQL процедура работает медленно. для очистки совести. APEX больше клиентская технология. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 13:16 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
Chitago, Я понял, что страница одна, wwv_flow.accept - это слишком большой кусок кода, который выполняет ВСЁ, внутри может быть что угодно, в apex debug можно посмотреть в каком конкретно месте тормозит (если в трассировке ниже не видно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 13:25 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
SvDev, Я просто отреагировал на "на обеих страницах", поэтому уточнил. Сейчас как-раз в трассировке разбираюсь. Там, конечно, идёт рекурсия, поэтому подключил OraSRP - там дерево неплохо строится. Но давай попробую с debug на странице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 13:35 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
Мне кажется дебаг страницы ничего не даст, ведь она одна и та же, и логично предположить что БД отрабатывает с точно такой же скоростью. А вот отдача клиенту по какой то причине тормозит. Как мне кажется нужно копать именно Томкэт, java... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 13:42 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
Chitago, Потому что вопрос был: оба примера на одной и той же (виртуальной) машине или вы развернули копию где-то ? я бы посмотрел еще на загруженность веб сервера и ОС в тот и другой момент, у вас даже затраты cpu разные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 13:46 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
Например, с ords код возвращает exception и отрабатывает быстро, или sql отрабатывает с разными планами, тогда разбираться, почему разные планы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 13:48 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
blkangel, страница может быть и одна, но сдается мне, что apex debug может оказаться разным, с разными результатами выполнения, +если тормозит запрос, будет видно какой, в трассировке обычно так просто не разберешься, если не знаешь, что искать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 14:00 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
SvDevblkangel, страница может быть и одна, но сдается мне, что apex debug может оказаться разным, с разными результатами выполнения, +если тормозит запрос, будет видно какой, в трассировке обычно так просто не разберешься, если не знаешь, что искать С чего он разный то будет, если исходные данные одинаковые, и я так понимаю БД одна и та же. Именно листенеры меняются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 15:08 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
blkangel, потому что в первом топике показано разное время выполнения, апекс в одном pl/sql блоке выполняет всю обработку, результат помещает в переменные пакетов, потом в другом блоке выполняет всё считывание, выше код, где только одна обработка на сервере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 15:28 |
|
||
|
ORDS vs Listener
|
|||
|---|---|---|---|
|
#18+
Вообще, количество логический и физических чтений в первом случае явно больше, поэтому логично предположить, что обработка шла в разных условиях, что-то отличалось. Например, в первом случае работа шла с большим подразделением (или какой-то другой группировкой данных), и какой-то запрос посередине, например, затормозил, во втором случае работа шла с маленьким подразделением, где мало данных, и все выполнилось быстро... Или это могли быть какие-то другие отличия в среде, которые повлияли на выполнение, например, параметры инициализации, тут надо всё смотреть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 16:08 |
|
||
|
|

start [/forum/topic.php?fid=50&msg=39122490&tid=1874756]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 219ms |
| total: | 508ms |

| 0 / 0 |
