|
|
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
silvanPetro123, куда я трейс пошлю? не верете, не надо.но то что одно ползет по кабелю а другое по воздуху факт. Петро не про это пишет. Очень похоже, что вы занимаетесь гаданием места ошибки. А лучше провести анализ и найти бутылочное горлышко, которое и нужно решать. 650кб - это хороший канал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 15:52:38 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
Leonidv,как вы предлагаете проводить анализ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 16:35:00 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
silvan, найти того, кто писал код, и попросить замерить все участки кода по времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 16:41:32 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
Вам нужно сделать следующее: 1)Понять, что же все-таки тормозит - получение данных из базы, или отправка данных пользователю. Судя по тому, что с локальной базой у вас все работает быстро, то скорее всего дело в базе. 2)Включить логгирование SQL запросов (на уровне Hibernate или JDBC). Посмотреть, сколько SQL запросов выполняется на один запрос пользователя (нормальное значение - не больше 5). Проанализировать эти запросы. Создать необходимые индексы. Включить в Hibernate в нужных местах eager fetching. Посмотреть, нет ли у вас такого, что вы делаете запрос, а потом на каждую строчку делаете еще один запрос (это обычно самая главная причина тормозов). Заменить все такие места на join. Мне таким образом удавалось разгонять скорость работы с двух часов до двадцати секунд. 3)Как я понял, вы высасываете все данные из базы, а потом выдаете их в грид. Грид сам делает по ним пейджинг. Этот подход крайне неправильный. Должен делаться запрос к базе на каждое перелистывание страницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 17:23:26 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ, +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 17:28:59 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
по ТЗ: выдать клиенту все договора Вы в ваадин все договора выдаете? То есть на ОДНОЙ странице интерфейса просмотр ВСЕХ договоров? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 17:36:54 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
Leonidv,как вы предлагаете проводить анализ? 1)Инструментировать java функции руками. Например, у вас есть функция getContracts(){ //bla bla bla } Вы вставляете getContracts(){ long t = System.currentTimeInMillis(); //bla bla bla System.out.println("getContracts "+((double)t-System.currentTimeInMillis())/1000); } Делаете запрос к проблемной странице, смотрите, что пишется в лог, делаете выводы. 2)Включить логирование запросов на стороне СУБД. 3)Взять Firefox+firebug, посмотреть какие XMLHttpRequest тормозят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2012, 04:06:03 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
я ошибся в производственной системе сервер приложений там же где и база.загруженность агрегата высокая. на данный момент воткнули таймер на запросах и преобразованиях в ДТО. запросы шустро летят.самый тормозной 2 сек. основная просадка получается в преобразовании в ДТО 1 объект создается 3 сек умножаем на тысячи получаем минуты.сильно ускориться можем если не все сразу преобразовывать будем, но все равно будет хреново((( так же у клиентов аппараты дохленькие.говорят если скрол на табличках потянуть вниз подтормаживает. итого проблема комплексная. 1)полный пересмотр сервис слоев и дао 2)морду надо разгружать. пичалька. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 08:55:53 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
silvan1 объект создается 3 сек умножаем на тысячи получаем минуты. Что именно включается в процесс создания объекта? 3 секунды - это оооочень долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 09:32:17 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
Leonidv, в большинстве своем проверку на нулл и расшивровку кодов по мапам.последнее считаю что должно быть на уровне бд но на текущий момент это невозможно.иногда парсинг строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 10:57:17 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
silvanLeonidv, в большинстве своем проверку на нулл и расшивровку кодов по мапам.последнее считаю что должно быть на уровне бд но на текущий момент это невозможно.иногда парсинг строки Приведите пример кода. Нечему там делаться 3 секунды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 11:13:10 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
silvanLeonidv, в большинстве своем проверку на нулл и расшивровку кодов по мапам.последнее считаю что должно быть на уровне бд но на текущий момент это невозможно.иногда парсинг строки И напишите модульный тест на преобразование. Eclipse/IDEA показываются время выполнения теста в миллисекундах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 11:14:02 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
silvan, Сколько же там мап и пар ключ-значение в них? Или сколько проверок на каждый распарсенный ключ-значение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 11:53:02 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
Большой Синий Китsilvan, Сколько же там мап и пар ключ-значение в них? По идее количество элементов в HashMap не должно влиять производительность. Обычно там скорость очень близка к O(1) (подсчитать хэш и найти элемент в массиве по хэшу). Правда это только в том случае, если хэш код рассчитывается корректно. http://stackoverflow.com/questions/4553624/hashmap-get-put-complexity ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 12:04:24 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
LeonidvПо идее количество элементов в HashMap не должно влиять производительность. Обычно там скорость очень близка к O(1) (подсчитать хэш и найти элемент в массиве по хэшу). Правда это только в том случае, если хэш код рассчитывается корректно. А вот когда хэшкоды совпадают у разных по equals объектов, тут-то HashMap и деградирует очень быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 12:07:47 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
один из методов Код: java 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. авторСколько же там мап и пар ключ-значение в них? до десятков тысяч ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 12:10:09 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
silvan, Этот метод 3 секунды работает? Какая реализация Map используется? Судя по названия, какая-то BiMap? Запросы к БД уходят какие-нибудь? (например, здесь может уходить если используется hibernate с lazy ассоциацией): Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 12:19:05 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
silvanдо десятков тысяч Десятки тысяч в HashMap - это ни о чем, если хватает оперативки. Посмотрите, может вы в swap выпадаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 12:20:07 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
Под профайлером прогнать - сразу будет видно где затык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 12:42:57 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Это точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 12:47:15 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
Leonidv, этот метод работает около 5 минут logTotal time of transformation into an object ArchiveTO is 279.589sec используются com.google.common.collect.HashBiMap судя по логам запросы в БД уходят единожды далее в ОП сидит все кроме самого архива(т.е. идет 1 запрос List<KU_ARHC_OGR> listArch = dao.selectALL()) listArch.size не померял :-( авторПосмотрите, может вы в swap выпадаете? как понять?...если подряд метод дернуть разницы никакой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 12:56:13 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПод профайлером прогнать - сразу будет видно где затык. научите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 12:57:37 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
silvanBlazkowiczПод профайлером прогнать - сразу будет видно где затык. научите http://habrahabr.ru/search/?q= [visualvm]&target_type=posts ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 13:02:03 |
|
||
|
неудача.что делать?
|
|||
|---|---|---|---|
|
#18+
LeonidvБольшой Синий Китsilvan, Сколько же там мап и пар ключ-значение в них? По идее количество элементов в HashMap не должно влиять производительность. Обычно там скорость очень близка к O(1) (подсчитать хэш и найти элемент в массиве по хэшу). Правда это только в том случае, если хэш код рассчитывается корректно. http://stackoverflow.com/questions/4553624/hashmap-get-put-complexity Я спрашивал об этом потому, чтобы понять, сколько валидаций на всю хешмапу идет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 13:18:22 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37857383&tid=2131385]: |
0ms |
get settings: |
13ms |
get forum list: |
16ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
53ms |
get topic data: |
25ms |
get forum data: |
6ms |
get page messages: |
107ms |
get tp. blocked users: |
3ms |
| others: | 297ms |
| total: | 532ms |

| 0 / 0 |
