LINUX.ORG.RU

Если кто работал с Oracle/JDBC под Linux, помогите советом !!!!


0

0

Добрый день !!! В процессе нагрузочного тестирования столкнулись с неожиданной проблемой - утечкой памяти из-под работающей 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)+"<br>"); }

} 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.


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.