|
|
|
80-90% загрузка CPU
|
|||
|---|---|---|---|
|
#18+
Итак, web приложение, какое-то время нормально работает. Через несколько дней нагрузка на проц становится близкой к 100%. Перезагрузка решает проблему, но это не выход. Что известно: 1. По тред дампу (мне) особо ничего не понятно. Дедлоков нет. Работает (RUNNABLE) около 15 потоков из всего пула (~500). Остальные в состоянии WAIT, что вроде бы хорошо. Почти всю нагрузку на проц генерят 4-5 потоков. 2. Приложение подтекает. Видно что со временем GC работает дольше, fullGc раз в час. И пока есть ощущение что тормозит не сборка. Как выяснить что творят эти 4-5 потоков? Почему они отожрали всю производительность процессора и не дают остальным проц время? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2015, 16:20 |
|
||
|
80-90% загрузка CPU
|
|||
|---|---|---|---|
|
#18+
какой-нибудь постоянный рекконнект? Профилировку сделайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2015, 16:21 |
|
||
|
80-90% загрузка CPU
|
|||
|---|---|---|---|
|
#18+
Дамп потоков делаешь и смотришь по стеку чем они занимаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2015, 16:23 |
|
||
|
80-90% загрузка CPU
|
|||
|---|---|---|---|
|
#18+
а чем можно сделать дамп вместе со стеком? jmap вроде стек не умеет делать, а jstack не умеет делать дамп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 01:47 |
|
||
|
80-90% загрузка CPU
|
|||
|---|---|---|---|
|
#18+
chabapokа чем можно сделать дамп вместе со стеком? jmap вроде стек не умеет делать, а jstack не умеет делать дамп. jvisualvm, но смысл их делать вместе? Это всё равно две разные операции. Делай отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 09:44 |
|
||
|
80-90% загрузка CPU
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Что сейчас происходит: По дампу я нашел JSP в которой есть инклуд другой, вот на этом (doEndTag) месте висят потоки. Висят, непрерывно что-то делают (типа while(true)). Логика простая, в Action запрос к БД, ну и отрисовка. Такое ощущение что происходит зацикливание. Эти потоки сжирают все время, а другие не задействованы вообще. Сложность еще в том, что 100% нужно ждать несколько дней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 18:03 |
|
||
|
80-90% загрузка CPU
|
|||
|---|---|---|---|
|
#18+
ТимоН, Покажи дамп потока и JSP. Желательно, ещё и откомпилированую JSP найти. Мож подскажем чего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 18:05 |
|
||
|
80-90% загрузка CPU
|
|||
|---|---|---|---|
|
#18+
Вот для таких сложностей и существует протоколирование. Продумываем, что должно быть в каждом конкретном месте, пишем факты, а потом сопоставляем со своими ожиданиями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 18:07 |
|
||
|
80-90% загрузка CPU
|
|||
|---|---|---|---|
|
#18+
Что-то мне кажется, что даже к Java вопрос имеет отношение опосредованное. Нормальные WEB сервера могут дать статистику: сколько, какая JSP страница выполнялась (min,max,avg) IMHO Скорее всего банальная бага в софте. Пользователь нажал на кнопку - приложение зависло. Повторять ошибку, править софт. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 18:07 |
|
||
|
80-90% загрузка CPU
|
|||
|---|---|---|---|
|
#18+
1. Забыл упомянуть. Инклуд стратсовый. 2. Он вызывается в цикле. Возможно >1000 раз. Убрал цикличный инклуд. Ждем ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 16:26 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38943827&tid=2125502]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 494ms |

| 0 / 0 |
