![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Barvetal |
|
|||
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 181 Регистрация: 31.10.2005 Репутация: 5 Всего: 5 |
Всем привет!
Решили произвести нагрузочное тестирование нашего сайта. Страницы начали не отдаваться по 10-30 секунд... Посмотрел, что происходит в дампе потоков. Происходит следующее: Один из потоков берет лок (на момент дампа потоков этот поток обрабатывал клиентский запрос 16 секунд): java.lang.Thread.State: RUNNABLE at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) - locked <0x74d489a8> (a sun.misc.Launcher$ExtClassLoader) at java.lang.ClassLoader.loadClass(ClassLoader.java:299) - locked <0x74d48960> (a sun.misc.Launcher$AppClassLoader) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) - locked <0x74d48960> (a sun.misc.Launcher$AppClassLoader) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1274) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205) at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:95) at org.hibernate.impl.SessionFactoryImpl.getImplementors(SessionFactoryImpl.java:683) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1543) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283) at net.myorg.persistence.dao.GenericDao.loadByFieldsEqOrLike(GenericDao.java:187) at net.myorg.persistence.dao.GenericDao.loadByFields(GenericDao.java:159) at net.myorg.persistence.dao.GenericDao.loadByField(GenericDao.java:138) at net.myorg.persistence.utils.UrlUtils.getDocListUrl(UrlUtils.java:96) at net.myorg.persistence.utils.UrlUtils.getDocListUrl(UrlUtils.java:103) at net.myorg.portal.calendar.Renderer.getWeeks(Renderer.java:265) at net.myorg.portal.calendar.View.pageBeginRender(View.java:137) at org.apache.tapestry.AbstractPage.firePageBeginRender(AbstractPage.java:478) at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:268) at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:366) at org.apache.tapestry.portlet.PortletRendererImpl.renderPage(PortletRendererImpl.java:76) ....... этого лока ждут другие 74 потока: java.lang.Thread.State: BLOCKED (on object monitor) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:269) - waiting to lock <0x74d48960> (a sun.misc.Launcher$AppClassLoader) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1274) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205) at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:95) at org.hibernate.impl.SessionFactoryImpl.getImplementors(SessionFactoryImpl.java:683) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1543) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283) at net.myorg.persistence.dao.GenericDao.loadByFieldsEqOrLike(GenericDao.java:187) at net.myorg.persistence.dao.GenericDao.loadByFields(GenericDao.java:159) at net.myorg.persistence.dao.GenericDao.loadByField(GenericDao.java:138) at net.myorg.persistence.utils.UrlUtils.getDocListUrl(UrlUtils.java:96) at net.myorg.persistence.utils.UrlUtils.getDocListUrl(UrlUtils.java:103) at net.myorg.portal.calendar.Renderer.getWeeks(Renderer.java:265) at net.myorg.portal.calendar.View.pageBeginRender(View.java:137) at org.apache.tapestry.AbstractPage.firePageBeginRender(AbstractPage.java:478) at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:268) at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:366) at org.apache.tapestry.portlet.PortletRendererImpl.renderPage(PortletRendererImpl.java:76) ....... Самомум старому потоку из них - 81 секунда! Почему первый поток выполняет так долго java.lang.ClassLoader.loadClass? Как устранить проблему? Заранее большое спасибо! Это сообщение отредактировал(а) Barvetal - 3.6.2008, 16:09 |
|||
|
||||
alexadr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.9.2006 Репутация: нет Всего: 4 |
Возможно поможет загрузка класслоадером определенных классов(тех что долго грузятся java.lang.ClassLoader.loadClass) на стадии инициализации приложения.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |