톰캣 #09-쓰레드

Download 톰캣 #09-쓰레드

If you can't read please download the document

Upload: gyuseok-lee

Post on 08-Jul-2015

433 views

Category:

Software


1 download

DESCRIPTION

톰캣에서 쓰레드가 의미하는 바를 이해하고 어떻게 설정할 수 있는지, 그리고 어떻게 확인하고 모니터링할 수 있는지를 알아봅니다.

TRANSCRIPT

  • 1. .Stone G

2. {: T o m c a t } 3. Thread?Thread DumpCHAPTER #9THREAD 4. Thread? 5. Thread? 6. Thread? 7. 8. T h r e a d 9. !C o n n e c t o rT h r e a d 10. S h a r e dE x c u t e r!C o n n e c t o rT h r e a d 11. ConnectorDefault Max Thread Value = 200 12. maxSpareThreads Idle max thread pool sizemaxThreads Connector request minSpareThreads tomcat Idle Thread maxIdleTime Thread (ms)minSpareThreads = 10, maxSpareThreads=5, maxThreads = 15 13. Connector 14. Executor 15. Thread Dump 16. Thread Dump ? ? ? ? ? 17. [Thread Dump Example]"http-bio-8080-exec-5" #24 daemon prio=5 os_prio=31 tid=0x00007fc893d16800 nid=0x6307 runnable [0x0000000116ca4000]java.lang.Thread.State: RUNNABLEat java.net.PlainSocketImpl.socketConnect(Native Method)at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)- locked (a java.net.SocksSocketImpl)at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)at java.net.Socket.connect(Socket.java:589)at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:149)at oracle.net.nt.ConnOption.connect(ConnOption.java:133)at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:405)at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:454)at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:693)at oracle.net.ns.NSProtocol.connect(NSProtocol.java:251)at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1140)at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:340)at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:553)at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:254)at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)- locked (a org.apache.tomcat.dbcp.dbcp.BasicDataSource)at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)at org.apache.jsp.testds_jsp._jspService(testds_jsp.java:88)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 18. Thread Dump - !1. ID : pid2. Thread Dump 1. Unix/Linux : kill -3 2. JDK 1.5+ : JAVA_HOME/bin/jstack 3. 1. Solaris/HP-UX/Linux/Windows : Catalina.out2. AIX : javcore 19. Thread Dump - jvisualVM!1. JAVA_OPTS JMX (local )-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=8888-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false2. jvisualVM 1. JDK 1.6_18+ : JAVA_HOME/bin/visualvm2. jvisualVM : http://visualvm.java.net3. Remote IP JMX Connection 4. Thread Thread Dump 20. Thread?Thread Dump{G.Stone : Thread} 21. N E X T 22. CategMoGryGM