Search

Tomcat 6, 7에서 8로 마이그레이션 시 유의해야할 사항

WEB/WAS/Tomcat 2017. 2. 7. 18:46 Posted by 알 수 없는 사용자

Tomcat 6, 7에서 8로 마이그레이션 시 유의해야할 사항


1. MaxPermSize 명칭 변경

- MaxPermSize => MaxMetaspaceSize

- PermSize => MetaspaceSize


2. conf/server.xml

- maxActive => maxTotal

- maxWait = maxWaitMillis

- remobeAbandoned => removeAbandonedOnBorrow or removeAbandonedOnMaintenance

- validationInterval => validationQueryTimeout 으로 변경

- mysql 사용시 initiaiSize 관련 오류가 발생하는 것 => jennifer에서 enable_jdbc_wrapper = true enable_reserved_sql_pointcut=false로 설정 변경 필요


3. conf/web.xml

- jsp 스펙 변화에 따른 내용 수정을 해야함

-- auth-constraint절 제거 또는 security-role절 추가

    <security-role>

        <role-name>manager</role-name>

    </security-role>

auth-constraint role-name manager 추가


4. Catalina 하위에 있는 manager.xml 제거 그리고 webapps/manager 제거


5. conf/web.xml 혹은 ~~~war/WEB-INF/web.xml

- jsp 스펙 변화에 따른 내용 수정을 해야함

- resource-ref에서 description 제거


6. jdbc 드라이버는 반드시 $TOMCAT/lib에 위치해야함

 

etc. tomcat HTTP2 채용으로 인한 native apr 관련해서 업데이트 필요

'WEB/WAS > Tomcat' 카테고리의 다른 글

Tomcat MaxPermSize  (0) 2016.09.06
Tomcat connector (mod_jk) 관련 주의사항  (0) 2015.11.04
JK FAQ  (0) 2013.11.22

Tomcat MaxPermSize

WEB/WAS/Tomcat 2016. 9. 6. 10:43 Posted by 알 수 없는 사용자

Java8부터 메타정보 관리 영역의 메모리 구조가 변경 됨에 따라 pre-java8 옵션을 더 이상 사용 할 수 없습니다.

하지만, 지금까지 pre-java8 옵션으로 설치되어 왔습니다.

 

As-is

-XX:MaxPermSize=256m

 

To-be

-XX:MaxMetaspaceSize=256m

 

 

Java8에 기존 설정 (-XX:MaxPermSize)을 적용하면 다행히도(?) 설정이 무시되고 기본으로 -XX:MaxMetaspaceSize=unlimited 설정됩니다.

MaxMetaspaceSize의 기본 값이 unlimited이기 때문에 어플 특성에 따른 native 메모리 누수 발생시 최악의 경우 아예 OS가 뻗을 수 있을 것 같습니다.

native메모리 누수가 없다고 100% 장담 할 수 없기 때문에 제한을 두어야 한다고 봅니다.

 

대응

l  설치 스크립트에 java8의 경우 -XX:MaxMetaspaceSize=256m 가 적용되게 변경

l  기존 Java8 탑재 Tomcat MaxMetaspaceSize 모니터링

n  MaxMetaspaceSize에 특이사항이 없는지 확인(너무 과도하게 점유하지 않는지)

n  각 서비스 WAS 옵션 변경

'WEB/WAS > Tomcat' 카테고리의 다른 글

Tomcat 6, 7에서 8로 마이그레이션 시 유의해야할 사항  (0) 2017.02.07
Tomcat connector (mod_jk) 관련 주의사항  (0) 2015.11.04
JK FAQ  (0) 2013.11.22

Tomcat connector (mod_jk) 관련 주의사항

WEB/WAS/Tomcat 2015. 11. 4. 14:24 Posted by 알 수 없는 사용자

아파치+톰캣 연동 환경에서 mod_jk 설정에 포함된 JkMount 라는 옵션으로 톰캣으로 넘겨주는 설정이 있다.

서비스 분류를 위해 기존 모든 확장자를 톰캣으로 넘기던 환경을 일부만 톰캣으로 넘기는 설정이다.

ex)

JkMount /*=Tomcat  <--- 모든 확장자를 Tomcat Instance로 넘김

JkMount /*.jsp=Tomcat  <--- 확장자 jsp 만을 Tomcat Instance로 넘김

JkMount /image/*=Tomcat  <--- /image/ 내의 모든 확장자를 Tomcat Instance로 넘김

위설정은 예시이며, 설정 이외에 요청되는 모든것은 아파치가 처리하게 된다.

이설정은 httpd.conf 내 솎해있을수도 있고, 밖으로 빼서 설정할수도 있는데

문제는 밖으로 빼서 설정을 하게 될 경우 JkMountFileReload 라는 놈으로 인해 설정변경 후 재기동을 하지 않아도 자동으로 적용된다는 것이다.

JkMountFileReload


This directive configures the reload check interval in seconds. The JkMountFile is checked periodically for changes. A changed file gets reloaded automatically. If you set this directive to "0", reload checking is turned off. 
The default value is 60 seconds. 
This directive has been added in version 1.2.20 of mod_jk.


The default value is 60 seconds. 
This directive has been added in version 1.2.20 of mod_jk.


Tomcat으로 라우팅 설정이 JkMountFile로 따로 빠져있을 경우, 이파일 내용을 동적으로 체크하는 인터벌로,아파치 재기동을 하지 않아도 60초(Default)간 파일내용을 적용한다고 하니 각별한 주의가 필요하다.

※ Reload 가 되면 아래와 같은 로그가 남으니 참고

[info] Reloaded urimaps from /app/apache/conf/uri.properties














'WEB/WAS > Tomcat' 카테고리의 다른 글

Tomcat 6, 7에서 8로 마이그레이션 시 유의해야할 사항  (0) 2017.02.07
Tomcat MaxPermSize  (0) 2016.09.06
JK FAQ  (0) 2013.11.22

JK FAQ

2013. 11. 22. 16:52

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.