성능 시험 중 커넥션이 자주 끊기는 에러가 나고 있었다. 1000TPS 30분에 두세번 정도 끊기고 있었다. 그래서 커넥션 풀에 testOnBorrow 설정을 true로 설정 해서 에러를 막았다.
mariadb 성능테스트를 하는데 이상하게 로드러너에서 50user만 넘으면 성능 그래프가 튀는 경우가 생겼다 하지만 was에서 어플리케이션으로 디비에 접속해서 실행시키면 문제가 없던것이였다. 그래서 ODBC드라이버를 mysql ODBC로 바꾸니 정상적으로 성능테스트가 진행이 되었다. 마리아디비는 mysql소스를 그대로 가지고 간거로 알고 있었는데 아니였나 ㅜㅜ ODBC는 mysql ODBC를 써야겠다. 참고로 JDBC는 둘다 테스트를 해보았는데 문제가 없었다.
spring-data-redis 1.5 버전과 jedis를 사용해서 이번에 프로젝트를 진행하였다. 성능테스트를 진행중에 한곳에서 여러번의 IO가 발생하는 매소드에서 성능도 나오지 않을뿐더러 50TPS가 넘어가는 순간 서버가 먹통이 되어 버렸다. 그리고 서버를 재기동시에 아래의 에러가 계속 발생되고 있었다. org.apache.catalina.loader.WebappClassLoader loadClass INFO: Illegal access: this web application instance has been stopped already. Could not load redis.clients.jedis.Connection. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact. java.lang.IllegalStateException org.apache.catalina.loader.WebappClassLoader loadClass INFO: Illegal access: this web application instance has been stopped already. Could not load org.springframework.data.redis.PassThroughExceptionTranslationStrategy. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact. java.lang.IllegalStateException 해당 소스에서 트랜잭션을 빼고난후에는 정상적으로 TPS가 올라가고 있었다.

+ Recent posts