Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / glassfish 3 приложение тормозит на второй день работы / 25 сообщений из 53, страница 1 из 3
25.06.2012, 13:36:49
    #37853260
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
в приложении использую бд ms sql jtds 1.2.5 созданы сущьности обэктов базы, сесионные бины и веб сервисы при старте седает 300-400 мегабайт памяти и 10%-20% процессора в зависимости от количества подключенных клиентов спустя сутки при той же нагрузке 500-700 мегабайт памяти и 30%-100% процессора в результате чего начинает жутко тормозить в логаг ошибок нет! Подскажите куда копать???
...
Рейтинг: 0 / 0
25.06.2012, 13:48:31
    #37853282
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
GC Log в первую очередь. Оценить кто даёт нагрузку на CPU сам GC, или логика приложения.
Сдалеть дамп в обоих случаях, сравнить. Найти в чем разница и откуда она взялась.

Если где-то имеется утечка, то объекты оседают в tenured и GC приходится часто их снова и снова сканировать. Если размер кучи приближается к потолку, то GC работает всё чаще, пожирая ресурсы процессора.

Хотя это лишь один из вариантов. 500-700Мб это не те размеры на которых GC должен тормозить. Возможно что-то ещё влияет.
...
Рейтинг: 0 / 0
25.06.2012, 14:17:34
    #37853338
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
BlazkowiczGC Log в первую очередь. Оценить кто даёт нагрузку на CPU сам GC, или логика приложения.
Сдалеть дамп в обоих случаях, сравнить. Найти в чем разница и откуда она взялась.

Если где-то имеется утечка, то объекты оседают в tenured и GC приходится часто их снова и снова сканировать. Если размер кучи приближается к потолку, то GC работает всё чаще, пожирая ресурсы процессора.

Хотя это лишь один из вариантов. 500-700Мб это не те размеры на которых GC должен тормозить. Возможно что-то ещё влияет.

спасибо буду разбираться
единственное дампа никогда не делал скинте ссылку на ман если не сложно
...
Рейтинг: 0 / 0
25.06.2012, 14:24:12
    #37853351
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
...
Рейтинг: 0 / 0
25.06.2012, 17:17:40
    #37853661
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
не совсем понимаю Это нормально???
...
Рейтинг: 0 / 0
25.06.2012, 17:25:56
    #37853674
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
Вроде нормально. Можно попробовать Eden сделать побольше, а Tenured поменьше.
Это уже в состоянии когда тормозит?
...
Рейтинг: 0 / 0
25.06.2012, 17:28:48
    #37853683
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
Blazkowicz,
нет это еще работает
тормозит оно спустя сутки примерно завтра утром видно будет:((
...
Рейтинг: 0 / 0
25.06.2012, 17:32:34
    #37853689
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
такую картину уже часа 3 наблюдаю практически ничего не меняется
...
Рейтинг: 0 / 0
25.06.2012, 17:35:19
    #37853692
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
AndreyATCнет это еще работает
тормозит оно спустя сутки примерно завтра утром видно будет:((
Вот тогда и сделайте ещё один скриншот - посмотрим.
...
Рейтинг: 0 / 0
25.06.2012, 17:38:48
    #37853698
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
щас попробую симитировать нагрузку постоит часик скину скриншот
...
Рейтинг: 0 / 0
26.06.2012, 19:03:20
    #37855767
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
вот скриншот за сутки тоже как-бы все нормально но old не очищается только растет
...
Рейтинг: 0 / 0
26.06.2012, 19:17:17
    #37855781
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
На главной вкладке запустите GC. Если содержимое tenured не уменьшиться, то у вас скорее всего memory leak.
Сделайте heap dump и посмотрите какие объектов больше всего. Обычно это String, byte[], char[], от них нужно смотреть к каким классам вашего приложения они привязаны.
Почитайте про memory profiler. Там можно получить разницу между состояниями до и после - сразу будет видно какие объекты составляют разницу.
Мне обычно дампа кучи хватает чтобы узнать в чем проблема (при условии что я знаю исходный код)
Можете выложить дамп куда-нибудь - полистаю на досуге.
...
Рейтинг: 0 / 0
26.06.2012, 19:18:04
    #37855783
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
Сам GC времени много не отнимает вроде. Возможно тормоза начнуться когда tenured будет полностью заполнен.
...
Рейтинг: 0 / 0
26.06.2012, 19:36:07
    #37855808
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
Blazkowicz,

ок спасибо разбираюсь
...
Рейтинг: 0 / 0
27.06.2012, 09:39:31
    #37856206
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
Может это ещё и кэш какой у вас в памяти?
...
Рейтинг: 0 / 0
27.06.2012, 19:47:03
    #37857797
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
Blazkowicz,

все как и ожидалось old gen полный и все тормозит
...
Рейтинг: 0 / 0
27.06.2012, 19:51:13
    #37857802
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
не могу прикрепить картинку глюк форума но gc сел 100% проца и все стало тормозить сделал дамп там авторизационне данные и пустые колекции и еще подобный мусор
...
Рейтинг: 0 / 0
27.06.2012, 20:29:03
    #37857851
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
Выкладывайте дамп.
...
Рейтинг: 0 / 0
27.06.2012, 20:40:55
    #37857867
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
...
Рейтинг: 0 / 0
27.06.2012, 21:22:26
    #37857921
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
Ооочень похоже на какую-то багу в GlassFish. Полмиллиона HashMap и 2 миллиона ArrayList и почти всё это привязано к единственному экземпляру jcdiManagedBeanInstanceMap, который в свою очередь завязан не GC Root - grizzlyService.

...

В этой jcdiManagedBeanInstanceMap в мапе лежит пол миллиона элементов. Сейчас ковыряю что там внутри.
...
Рейтинг: 0 / 0
27.06.2012, 21:24:40
    #37857922
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
Что-то связаное с вашим классов ClientWS. Как вы его используете? Может там как-то EJB ссылки нужно подчищать?
...
Рейтинг: 0 / 0
27.06.2012, 21:40:21
    #37857932
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
все предельно просто есть бд есть сущности есть фасад и вебсервис
клиенты свинговые подключаются к вебсервису ClientWS какраз тот вебсервис к которому конектятся все клиенты в нем описаны все методы которые они используют сам вебсевис подкючается к ejb примерно так
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@EJB
    private ClientSessionSFLocal ejbRef;// Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Web Service Operation")

    @WebMethod(operationName = "getAllActiveTaskForCurrentPerson")
    public List<ActiveTask> getAllActiveTaskForCurrentPerson(@WebParam(name = "workplaceNumber") Integer workplaceNumber) {
        return ejbRef.getAllActiveTaskForCurrentPerson(workplaceNumber); 
    }
...
Рейтинг: 0 / 0
27.06.2012, 21:44:56
    #37857936
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
дальше в бине
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
 public List<ActiveTask> getAllActiveTaskForCurrentPerson(Integer workplaceNumber) {
        String name = ctx.getCallerPrincipal().getName();
        Person person = personFacade.getPersonByLogin(name);
        person.setLastWorkplaceNumber(workplaceNumber);
        person.setPersonLastActive(new Date());
        personFacade.edit(person);
        List<ActiveTask> allActiveTaskForCurrentPerson = activeTaskFacade.getAllActiveTaskForCurrentPerson(person);
        return allActiveTaskForCurrentPerson;
    }


дальше
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 public List<ActiveTask> getAllActiveTaskForCurrentPerson(Person p){
        List<ActiveTask> actieTaskList;        
        
        Date d = new Date();
        Query query = em.createNamedQuery("ActiveTask.findAllActiveTaskForCurrentPerson");
        query.setParameter("person", p);  
        query.setParameter("curDateTime", d);
        actieTaskList = query.getResultList();       
        return actieTaskList;
    }
...
Рейтинг: 0 / 0
27.06.2012, 21:55:26
    #37857941
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
Вы используете какую-то реально сырую версию GlassFish.
Вот ваша проблема
http://java.net/jira/browse/GLASSFISH-18768
http://java.net/jira/browse/GLASSFISH-16030

@WebService в купе с CDI приводят к утечке, что я в дампе и наблюдаю - 200К инстансов ClientWS замаплены на EJB, которые в них инжектят.

Если поменять сервер не вариант, то рекомендую заменить CDI на старый добрый JNDI Lookup.
...
Рейтинг: 0 / 0
27.06.2012, 22:06:23
    #37857945
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
glassfish 3 приложение тормозит на второй день работы
Очередной пример триумфа EJB3 над Spring IoC и GlassFish над JBoss.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / glassfish 3 приложение тормозит на второй день работы / 25 сообщений из 53, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]