Гость Опубликовано 16 июля, 2002 Жалоба Поделиться Опубликовано 16 июля, 2002 Добрый день !!! В процессе нагрузочного тестирования столкнулись с неожиданной проблемой - утечкой памяти из-под работающей JVM интенсивно читающей из СУБД, постепенно убирая все свое дошли до элементарного примера (писать в ответе что так веб-приложения не пишут не надо, мы и так это знаем, это просто ПРИМЕР !!!!!): <%@page import= "java.io.*"%> <%@page import= "java.sql.*"%> <% Connection con= null; Statement stmt = null; ResultSet rs = null; try { Class.forName ("oracle.jdbc.driver.OracleDriver"); con = DriverManager.getConnection ("jdbc:oracle:oci8:***/****@*****"); stmt= con.createStatement(); rs = stmt.executeQuery("SELECT ... "); while (rs.next()) { int fcnt = rs.getMetaData().getColumnCount(); for(int i=1;i<=fcnt;i++) out.println(rs.getString(i)+" "); } } catch (Exception e){ out.println (e.getMessage()); System.out.println(e.getMessage()); } finally { try { rs.close(); } catch (Exception e1 ) { out.println (e1.getMessage()); System.out.println(e1.getMessage()); } try { stmt.close(); } catch (Exception e1 ) { out.println (e1.getMessage()); System.out.println(e1.getMessage()); } try { con.close(); } catch (Exception e1 ) { out.println (e1.getMessage()); System.out.println(e1.getMessage()); } } %> Эту страницу гоняем тестировщиком с 300 виртуальными пользователями и малым временем сессии - порядка минуты, благодаря этому количество сессий в Резине через некоторое время стабилизируется, а пямять продолжает утекать, затем начинает расти swap, производительность падает, затем все умирает. Причем изнутри JVM объем доступной и максимальной памяти не меняется, меняется только объем самой JVM в системе. Тестировали под JVM IBM 1.3.0 и Sun 1.4.0, ОС Linux RedHat 7.3 и на машине с Resin 2.1.0 и на машине с Oracle 9.2, драйвера поставили последние, рекомендованные под JDK 1.4. Такая же картина наблюдается с предыдущими версиями JDK и Oracle 8.1.6, правда утечка менее интенсивна, но и скорость чтения из БД снижается. Данная проблема лечится только переходом под w2k, там все нормально и с памятью и с производительностью. Вопрос - не встречались ли вы с чем-нибудь подобным и не посоветуете ли что-нибудь, кроме смены ОС ??? Может у нас крыша поехала, на всякий случай прилагаю код тестовой JSP. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.