Beliebte Suchanfragen

Cloud Native

DevOps

IT-Security

Agile Methoden

Java

|
//

Tomcat 6 Vortrag von Peter Roßbach bei der RheinJUG

25.9.2008 | 1 Minuten Lesezeit

Donnerstag hat Peter Roßbach, Entwickler im Tomcat Projekt, auf der RheinJUG in Düsseldorf einen Vortrag gehalten. Dabei handelte es sich nicht um einen langweiligen trockenen technischen Talk, sondern um ein lockeres Potpourri aus Tomcat Architektur, Best Practices, Open Source Community sowie aktueller und zukünftiger Entwicklung.

Performanceoptimierung im Tomcat

Zum Thema Performance nannte er als wesentlichen negativen Faktor die Benutzung des Entwicklungsmodus für Produktion. Im folgenden einige weitere Parameter die er mit ihrer Auswirkung auf die Performance beschrieb.

So gibt es im Tomcat 6 eine Verbesserte Protokollimplementierung:

1<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
2 connectionTimeout="20000" />

außerdem ermöglicht Java NIO eine bessere Dateidownload Option. Servlets sollten dafür nur die Sendfile Request Parameter setzen und keine weiteren Daten ausgeben:

1org.apache.tomcat.sendfile.filename: Canonical filename of the file which will be sent as a String
2 org.apache.tomcat.sendfile.start: Start offset as a Long
3 org.apache.tomcat.sendfile.end: End offset as a Long

Produktionsserver sollten vor allem nicht automatisch deployen:

1<Host name="localhost" autoDeploy="false" deployOnStartup="false" deployXML="false">

Der Jasper JSP Compiler sollte ebenfalls getuned werden:

1<servlet>
2  <servlet-name>jsp</servlet-name>
3  <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
4  <init-param>
5<param-name>development</param-name>
6<param-value>false</param-value>
7  </init-param>
8  <init-param>
9<param-name>genStringAsCharArray</param-name>
10<param-value>true</param-value>
11  </init-param>
12  <init-param>
13<param-name>trimSpaces</param-name>
14<param-value>true</param-value>
15  </init-param>
16</servlet>

mod_jk zum Loadbalancing

Als zweiten Schwerpunkt stellte er das Modul „mod_jk“ vor, welches in Verbindung mit einem Apache Httpd und dem Tomcat AJP Protokoll dafür sorgt, daß Java Webapplikationen sich sinnvoll auf Tomcat Server verteilen lassen.

Er erläuterte die verschiedenen Loadbalancing Konfigurationen und daß es durchaus sinnvoll sein kann einen Tomcat Server pro Applikation zu verwenden. Dies begründet er insbesondere mit Memory Management und Ausfallsicherheit.

Tomcat Konfiguration:

1<Connector port="8009" protocol="AJP/1.3"/>
2<Engine name="Catalina" defaultHost="localhost" jvmRoute="node01">

mod_jk Konfiguration im Httpd:

1<IfModule !mod_jk.c>
2  LoadModule jk_module "modules/mod_jk.so"
3</IfModule>
4JkShmFile "logs/mod_jk.shm"
5 
6JKWorkerProperty worker.list=loadbalancer
7JKWorkerProperty worker.node01.port=8009
8JKWorkerProperty worker.node01.host=localhost
9JKWorkerProperty worker.node01.type=ajp13
10JKWorkerProperty worker.loadbalancer.type=lb
11JKWorkerProperty worker.loadbalancer.connection_pool_minsize=0
12JKWorkerProperty worker.loadbalancer.connect_timeout=30000
13JKWorkerProperty worker.loadbalancer.prepost_timeout=10000
14JKWorkerProperty worker.loadbalancer.balance_workers=node01
15JKWorkerProperty worker.loadbalancer.method=Request
16JKWorkerProperty worker.loadbalancer.retries=2
17JKWorkerProperty worker.loadbalancer.recovery_options=7
18JKMount /myapps* loadbalancer

Weitere Dokumentation zum mod_jk worker findet sich hier:

http://tomcat.apache.org/connectors-doc/reference/workers.html

Insgesamt ein recht unterhaltsamer Vortrag, aus dem man einiges lernen konnte über das Tomcat Projekt und die Tomcat Architektur, wie Open Source „lebt“ und was man als Entwickler/Architekt einer Java Webanwendung so alles beachten sollte.

|

Beitrag teilen

Gefällt mir

0

//

Weitere Artikel in diesem Themenbereich

Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.

//

Gemeinsam bessere Projekte umsetzen.

Wir helfen deinem Unternehmen.

Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.

Hilf uns, noch besser zu werden.

Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.