한민수
10
2019-10-16 13:59:26
1
127

[JAVA SPRING] JDBC 속도지연 문의


안녕하세요ㅠㅠ 

JAVA 고수님뜰게 문의할게 있어서 글을 올립니다.

아래 로그를 보시면 PreparedStatement 호출후 다른 PreparedStatement 호출시

2초씩 지연되고 있습니다. 원인이 무엇일까여?

실제 binding 변수를 이용해서 쿼리를 돌려도 쿼리속도는 빠르게 나옵니다.

DB는 Maria DB 10.2를 쓰고 있으며 dbcp2로 connection을 처리하고 있습니다.

고수님들의 도움이 필요합니다.ㅠㅠ


2019-10-16 13:49:02||          |BasicDAO                      |D| Query ID  : co.kr.medibeu.service.message.dao.TUiLabelDAOImpl.searchMsgOne <- 쿼리시작점

2019-10-16 13:49:02||          |searchMsgOne                  |D| ==>  Preparing: select label_text from t_ui_label where label_id = ? and lang_cd = ? 

2019-10-16 13:49:02||          |audit                         |D| 21. Connection.getCatalog() returned medibeu  org.apache.commons.dbcp2.DelegatingConnection.getCatalog(DelegatingConnection.java:403)

2019-10-16 13:49:02||          |audit                         |D| 21. Connection.getSchema() returned null  org.apache.commons.dbcp2.Jdbc41Bridge.getSchema(Jdbc41Bridge.java:360)

2019-10-16 13:49:02||          |audit                         |D| 21. PreparedStatement.setQueryTimeout(25000) returned   org.apache.commons.dbcp2.DelegatingStatement.setQueryTimeout(DelegatingStatement.java:800)

2019-10-16 13:49:02||          |audit                         |D| 21. PreparedStatement.setString(1, "m_logn_userInfoIsNull") returned   org.apache.commons.dbcp2.DelegatingPreparedStatement.setString(DelegatingPreparedStatement.java:616)

2019-10-16 13:49:02||          |audit                         |D| 21. PreparedStatement.setString(2, "en") returned   org.apache.commons.dbcp2.DelegatingPreparedStatement.setString(DelegatingPreparedStatement.java:616)

2019-10-16 13:49:02||          |searchMsgOne                  |D| ==> Parameters: m_logn_userInfoIsNull(String), en(String)

2019-10-16 13:49:02||          |sqltiming                     |D|  org.apache.commons.dbcp2.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:94)

21. select

        label_text

        from

        t_ui_label

        where

        label_id  = 'm_logn_userInfoIsNull'

        and

        lang_cd   = 'en'

 {executed in 286 msec}

2019-10-16 13:49:02||          |audit                         |D| 21. PreparedStatement.execute() returned true  org.apache.commons.dbcp2.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:94)

2019-10-16 13:49:02||          |audit                         |D| 21. PreparedStatement.getResultSet() returned net.sf.log4jdbc.sql.jdbcapi.ResultSetSpy@2c5e75d0  org.apache.commons.dbcp2.DelegatingStatement.getResultSet(DelegatingStatement.java:566)

2019-10-16 13:49:02||          |searchMsgOne                  |D| <==      Total: 1

2019-10-16 13:49:02||          |audit                         |D| 21. Connection.getMetaData() returned org.mariadb.jdbc.MariaDbDatabaseMetaData@40e54b06  org.apache.commons.dbcp2.DelegatingConnection.getMetaData(DelegatingConnection.java:414)

2019-10-16 13:49:02||          |audit                         |D| 21. PreparedStatement.clearParameters() returned   org.apache.commons.dbcp2.DelegatingPreparedStatement.clearParameters(DelegatingPreparedStatement.java:81)

2019-10-16 13:49:02||          |audit                         |D| 21. Connection.isClosed() returned false  org.apache.commons.dbcp2.DelegatingConnection.isClosed(DelegatingConnection.java:593)

2019-10-16 13:49:02||          |audit                         |D| 21. Connection.isClosed() returned false  org.apache.commons.dbcp2.DelegatingConnection.isClosed(DelegatingConnection.java:593)

2019-10-16 13:49:02||          |audit                         |D| 21. Connection.clearWarnings() returned   org.apache.commons.dbcp2.DelegatingConnection.clearWarnings(DelegatingConnection.java:359) RS종료

--------------------------------- 2초가 지연현상 발생 ---------------------------------------------------------------------------

2019-10-16 13:49:04||          |BasicDAO                      |D| Query ID  : co.kr.medibeu.service.message.dao.TUiLabelDAOImpl.searchMsgOne 2번째 쿼리 요청

2019-10-16 13:49:04||          |searchMsgOne                  |D| ==>  Preparing: select label_text from t_ui_label where label_id = ? and lang_cd = ? 

2019-10-16 13:49:04||          |audit                         |D| 21. Connection.getCatalog() returned medibeu  org.apache.commons.dbcp2.DelegatingConnection.getCatalog(DelegatingConnection.java:403)

2019-10-16 13:49:04||          |audit                         |D| 21. Connection.getSchema() returned null  org.apache.commons.dbcp2.Jdbc41Bridge.getSchema(Jdbc41Bridge.java:360)

0
0
  • 답변 1

  • kmksk
    1k
    2019-10-16 16:11:11 작성 2019-10-16 16:12:41 수정됨

    dbcp 설정에 중에 타임아웃 설정을 더 줄여 보던가 아니면 validationQuery 가 설정 되어있는지 확인해보세요.


    아무래도 dbcp 설정 문제같은데요.. 다른거로 바꿔보고 증상이 나아지는지 확인해봐야 할거같아요

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.