Jump to content

Recommended Posts

Posted

Добрый день !!!

В процессе нагрузочного тестирования столкнулись с неожиданной

проблемой - утечкой памяти из-под работающей 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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...