Configuring, Optimizing and Managing the Tomcat Servlet Container on NetWare ® 6 Jeff Tulley Software Engineer, Novell, Inc.

Slides:



Advertisements
Similar presentations
December 29, 2013 Willem Bagchus Master CNE, CLP, MCP Senior SE, Senior Trainer GWAVA Reload.
Advertisements

Reduce Cost & Complexity Partner logo here Presenters Name (16pt) Presenters Title (14pt) Company/ (14pt) Manage and Deploy Applications using Virtualization.
Nsure ™ Audit Essentials Rick Meredith Software Engineer Novell, Inc. Jaime Brimhall Software Engineer Novell, Inc.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
How to Successfully Cluster GroupWise Gregg A. Hinchman Consultant, Hinchman Consulting Ed Hanley Senior Consultant, Novell.
SAN Design Considerations Hylton Leigh Senior Consultant Novell Consulting, UK Stuart Thompson Senior Consultant Novell Consulting, UK.
Tomcat Celsina Bignoli History of Tomcat Tomcat is the result of the integration of two groups of developers. – JServ, an open source.
How to Implement a Cluster of Clusters Atiq Adamjee Senior Architect Novell, Inc. Brad Rupp Software Engineer Novell, Inc.
Password Management Bill Street, Nathan Jensen, Mike Simpson, Will Peterson Identity Management Engineering.
Upgrading to Novell ® SecureLogin 3.5 Rod Tietjen,
Studio 5 João Ferreira EMEA Product Specialist (exteNd) Studio Product manager, Novell, Inc.
Developing for Novell ® Nsure ™ SecureLogin Gordon Mathis Senior Software Engineer, Novell Inc.
DIR-835A1 Wireless N750 Dual-Band Router Wireless & Router Product Div. July 2011 D-Link WRPD.
Document Management with GroupWise ® Gregg Hinchman Consultant Hinchman Consulting Jerry Winkel Novell Escalation Engineer.
Nsure ™ Audit: Instrumenting Custom Applications Rick Meredith Jason Arrington Nsure Audit Engineering Novell, Inc.
Implementing Novell iChain ® at the City of Los Angeles Adam Loughran Senior Systems Engineer, Novell Robert Gillette IS Development Manager, City of Los.
Benefits of a SUSE ® Subscription Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Configuring Identity Manager 2 (formerly DirXML ® ) for JDBC (w/DirXML) Jason Elsberry Software Engineer
Implementing iChain ® in the Wild: Life beyond the lab Rich Roberts Senior Architect – Novell Consulting Novell Inc. Jim Short iChain Guru – Novell Consulting.
Implementing DirXML ® Stylesheets David Wagstaff
Novell Nsure TM Identity Manager 2 andGroupWise Provisioning Art Purcell, GroupWise ® Engineering, David Holbrook, DirXML Engineering,
Case Study: DirXML Implementation at Waste Management Rick Wagner Systems Engineer Novell, Inc.
GroupWise ® WebAccess Design and Implementation Tay Kratzer Primary Support Engineer, Novell Inc. Mike Bills ATT Engineer, Novell Inc.
Successful GroupWise Clustering, Part 1 Gregg A. Hinchman Ed Hanley Novell Inc.
April 30, 2007 openSUSE.org Build Service a short introduction Moiz Kohari VP Engineering.
The Art of Business Continuance Brad Rupp WG Storage Engineering Novell Gregg A. Hinchman Consultant Hinchman Consulting.
Novell ® BrainShare ® A Hands-on Approach to Implementing an Effective Retention Solution with Novell GroupWise and GWArchive Greg Smith, Director.
How to Successfully Cluster GroupWise ® Gregg A. Hinchman Consultant, Hinchman Consulting Ed Hanley Senior Consultant, Novell.
Kevin James Prototype Systems Devloper Novell Inc. Freddy Kaiser Technical Directory, Enterprise Solutions Novell Inc. BUS172 - Case Study: Extended Provisioning.
SecureLogin Solution for Hospital Environments Keith Lewis Novell Consultant Novell, Inc. Troy Drewry Protocom Consultant Protocom.
Advanced Mono Development: Best Practices Miguel de Icaza CTO, Ximian Nat Friedman VP Software Development, Ximian
Retention for GroupWise Angela Williams - Channel Sales Manager Jeff Stratford - President Nexic, Inc.
Beginning Programming with the Novell GroupWise ® Object API Glade Monson Developer Services, Novell Inc.
January 8, 2009 Business Continuity Cluster Always Running Gregg A. Hinchman Consultant Hinchman Consulting
Strong Authentication to any Application Using SecureLogin and NMAS TM Scott Kiester and John Jolly Software Engineer Novell, Inc.
Securing GroupWise ® end-to-end with SSL Mike Bills ATT Engineer, Novell Inc.
Best Practices for Running Multiple Identity Manager 2 (formerly DirXML ® ) Drivers on Linux and Solaris Patrick J Cush Senior Technical Specialist Novell.
Securing Legacy Applications with exteNd Composer and Novell iChain Kirk Noren Application Services Specialist Novell, Inc.
Configuring Novell GroupWise ® on SuSE LINUX Randy Brown GroupWise Dedicated Support Engineer, Novell Inc. Matt Preston GroupWise Support.
May 1, 2007 Novell ® Infiniband and Virtualization VM -IB project Patrick Mullaney.
DIR-826L Wireless N600 Gigabit Cloud Router Sales Guide WRPD Jan 25 th, 2012 D-LINK HQ.
Introducing Novell ® Identity Manager 4 Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
가상화 기반의 Workload 관리솔루션 : FORGE PlateSpin Virtualization and Workload Management 나영관 한국노벨 /
SUSE ® Linux Enterprise High Availability Extension.
Introduction to GroupWise ® C3POs Glade Monson Developer Services, Novell Inc.
WorkloadIQ ™ The intelligent way to build, secure, manage and measure workloads across physical, virtual and cloud environments Your Name Here Your Title.
IDC Says, "Don't Move To The Cloud" Richard Whitehead Director, Intelligent Workload Management August, 2010 Ben Goodman Principal.
Novell ® IT Consulting Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
SUSE ® Linux Enterprise Desktop in a One-To-One 21st Century Classroom Alex Inman Director of Technology Whitfield School
Novell ® Technical Training Field / Sales Presentation Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Introduction to SUSE Studio Tim Serong Senior Clustering Engineer OPS Engineering, Novell Inc.
Patrick Hynes Solutions Director | Novell Endpoint Management | Overview of.... ZENworks 11.
OES11 / SLES11 Feature Competitive Novell Confidential.
Clarity and Compromise First steps of DM/MD unification Neil Brown Kernel Engineer
GStreamer in OpenOffice.org? Cédric Bosdonnat, Radek Doulík.
Forrester and Novell Novell ® Identity Manager 4 Webcast I Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Novell ® Demo Systems Portal Update Doc Hodges Novell Demo Systems
DHP-600AV / DHP-601AV Powerline AV2 Gigabit Adapter Powerline AV2 Starter Kit Sales Guide WRPD, Mar 2013 D-Link Confidential.
From Source Code to Packages and even whole distributions By Cool Person From openSUSE.
UI-Facelift of the YaST Partitioner Module Martin Schmidkunz Arvin Schnell Katařina Machálková Status: 16th June 2008.
Enterprise Linux Servers Solution Overview Kerry Kim Enterprise Linux Servers Solution Manager.
From Source Code to Packages for Various Distributions Andreas Jaeger Program Manager openSUSE
UI-Facelift of the YaST Partitioner Module Martin Schmidkunz Status: 13th February 2008.
SUSE Studio: Building distributions By Cool Person From openSUSE.
From Source Code to Packages for Various Distributions
Redesign of AppArmor Modules in YaST
Presentation transcript:

Configuring, Optimizing and Managing the Tomcat Servlet Container on NetWare ® 6 Jeff Tulley Software Engineer, Novell, Inc.

: : : : Opening the door to Web services Novell exteNd ™ Securely getting the right information to the right people Novell Nsure ™ The best foundation for your mixed environment Novell Nterprise ™ The experience to solve your business problems Novell Ngage Novell Nterprise is an innovative family of products which give you the power to enable and manage the constant interaction of people with your business systems — regardless of who they are, where they are or what time of day it happens to be. Novell ® one Net vision SM

Presentation Outline Tomcat on NetWare ® 6 Configuring Optimizing Deploying Managing Tomcat on NetWare 6.5 Configuring Optimizing Deploying Managing

Tomcat on NetWare 6 Philosophy For Management only Not tuned for performance Not set up like typical Tomcat 3.x

Key Files: sys:/tomcat/33/bin/tomcat33.ncf sys:/tomcat/33/conf/nwserver.xml sys:/tomcat/33/conf/nwapps-(context).xml sys:/tomcat/33/conf/nwworkers.properties Configuration

Configuration – tomcat33.ncf Starts up tomcat, using nwserver.xml for configuration Defines classpath of Tomcat may need to be modified if the webapp contains native code Actual java command is here, so JVM tuning parameters go here also

Configuration – nwserver.xml Main configuration file for Tomcat 33 Departures from standard server.xml: Different ports Different application definition prefix (nwapps- as opposed to apps-) Ways it didn’t depart Auto deploy from tomcat/33/webapps –We should have changed this, in retrospect

Configuration – nwapps-(context).xml Anything starting with nwapps-, and followed by a context name, defines a context that is not auto deployed from sys:/tomcat/33/webapps For instance, nwapps-NSearch.xml Defines the context /NSearch Doc base is sys:/NSearch These files, or a WAR file in webapps, provide easiest way to run on Tomcat 33 on NetWare 6

Configuration – nwworkers.properties Key to the Apache / Tomcat interaction Configures Apache mod_jk.nlm, not Tomcat (Should have been put somewhere else probably) Ports in this file must be in sync with those in nwserver.xml Worker names here must be in sync with those in sys:/apache/conf/adminsrv.conf Default worker name is “ajp13”

Apache 2 Tomcat / Catalina 4.1x Ajp 13 Port 9010 Apache / Tomcat intercommunication

Optimizing Tomcat on NetWare 6 was not optimized for heavy usage, since it was targeted for management only Tuning is necessary for dedicated Servlet Container usage, for instance with NSearch NPS OnDemand ™

Optimizing – philosophy Key point to remember when tuning Tomcat - every application requires different tuning parameters, there is no “one size fits all” If your server is dedicated to one application, this makes tuning easier If your server has one type of usage pattern, tuning is easier also Like database tuning, this is partly an art, with tradeoffs involved

Optimizing – nwserver.xml parameters The main parameters that must be tuned are found in nwserver.xml, in the tag maxThreads maxSpareThreads MinSpareThreads The SpareThreads settings determine how many threads are kept alive while the system is idle (not under heavy load) Ideal number of threads must be analyzed against memory usage, processing activity of your application, etc.

Optimizing – memory settings Tomcat33.ncf does not set a maximum heap size Default JVM 1.3 max heap is 64MB Default JVM 1.4 max heap is 128MB Your applications needs may be way more than either of these defaults To determine your application’s needs: Add “-Xmx400m” to beginning of java command Load test your application for a while Java –showmemory(id) on tomcat process Set the max to a value higher than committed heap

Optimizing – more memory settings NLMS have a limit of about 400 MB allocation size Setting the –X flag above that may result in an invalid allocation, giving you only the 64 MB default If you need more than this much memory: Use the server –u option –TID # –Set the value at (total memory – OS memory requirements), in bytes Use multiple tomcat instances

Optimizing – multiple tomcats Create your own ncf files, starting up Tomcat with separate server.xml files Each listens on a separate AJP port There is a worker in nwworkers.properties corresponding to each tomcat instance Each of these workers is in the worker.loadbalancer.balanced_workers list Apache will send requests to these workers in a weighted round-robin manner, with sticky sessions

Optimizing – outside of Tomcat Upgrade to JVM 1.4 Upgrade Apache to Apache 2.0 Apache 2.0 has more caching capabilities Then you can set the cachesize parameter on each worker (in nwworkers.properties) Set it to the same as the number of Apache threads Make sure Apache is serving your static content –In a “purely dynamic” application you still have static image files, sometimes downloadable files, etc.

Deploying – techniques Three methods to deploy to Tomcat 33 Place a WAR file in sys:/tomcat/33/webapps –Tomcat automatically explodes it on first execution Explode WAR into sys:/tomcat/33/webapps Place your exploded WAR wherever, define its context name and location in conf/nwapps- (context).xml It’s that simple

Managing Management of Tomcat is done completely manually, through configuration files See the key files already pointed out in earlier slides.

Tomcat 4 on NetWare Philosophy We realized that “only for management” didn’t coincide with reality New philosophy: “separate management”, out of the way of the default Tomcat instance Default Tomcat instance has as few changes as necessary Internal Novell applications (non-admin) play in the same world as 3 rd party applications

Configuring – Tomcat 4 User Instance Key Files: sys:/tomcat/4/bin/tomcat4.ncf sys:/tomcat/4/bin/tc4stop.nc sys:/tomcat/4/bin/catalina.pl sys:/tomcat/4/bin/startup.ncf sys:/tomcat/4/conf/server.xml sys:/apache2/conf/mod_jk/workers.properties

Key Files: Sys:/adminsrv/conf/admin_tomcat.xml Sys:/system/tcadmup.ncf Sys:/system/tcadmdn.ncf Same workers file Configuring – Tomcat 4 Admin instance

Configuring – Startup/Shutdown Scripts tomcat4.ncf, tc4stop.ncf: Start and stop the user instance, respectively startup.ncf: Calls into catalina.pl, taking care of some “NetWareisms” of starting up (startup dir) catalina.pl: Has all of the smarts. Akin to catalina.bat Allowed some functionality not available in NCFs

Configuring – Server.xml As much as is possible, server.xml is identical to the server.xml downloaded from jakarta.apache.org We had to change the following items: AJP port change to 9010 (conflict with NetWare Remote Manager port, 8009) We disabled the “UserDatabaseRealm”, instead using the “JNDIRealm” for authentication/ authorization against Novell eDirectory ™. (more on this later) Commented out port 8080, the internal HTTP stack

Configuring – workers.properties Content has not changed much, just the file location Makes more sense in apache directory Default worker name is the same as the NetWare 6 Tomcat 33 worker (ajp13) Separate worker for admin instance (ajp13_admin) Ports should not conflict with those used on NetWare 6, so Tomcat 4 could work there equally well

Configuring – Admin Instance Files tcadmup.ncf, tcadmup.ncf: Start and stop the admin instance, respectively Admin_tomcat.xml: Configuration of an instance of Tomcat 4, with separate ajp ports, also using the JNDIRealm for security, auto-deploying out of sys:/adminsrv/webapps You shouldn’t have to change these files

Optimizing Tomcat 4 IS optimized a bit right out of the box Max and min threads are set Memory is optimized a bit (some maximums are set) Workers cachesize property is set Apache 2 is already in place giving static files speedup

Optimizing – server.xml parameters Same as with Tomcat 33, only the names have changed On the tag, “CoyoteConnector”, there are the following: minProcessorsmaxProcessorsacceptCount

Optimizing – multiple tomcats Create your own ncf files, starting up Tomcat with separate server.xml files Each listens on a separate AJP port There is a worker in nwworkers.properties corresponding to each tomcat instance Each of these workers is in the worker.loadbalancer.balanced_workers list Apache will send requests to these workers in a weighted round-robin manner, with sticky sessions

Deploying – techniques Three methods to deploy to Tomcat 4 Place a WAR file in sys:/tomcat/4/webapps Tomcat automatically explodes it on first execution Explode WAR into sys:/tomcat/4/webapps Place your exploded WAR wherever, define its context name and location in webapps/ (context).xml These are identical to Tomcat 33, except last item

Managing New to Tomcat 4 are the admin and manager apps –/tomcat/admin/ –Ability to manage separate pieces of server.xml in a web-based fashion –/tomcat/manager/ –Allows you to manage contexts’ life-cycles »Start »Stop »Restart

Managing - /tomcat/manager/html

Debugging Java Platform Debugger Architecture is new to JVM 1.4 on NetWare tc4jpda.ncf - starts up Tomcat in debug mode, communicating over socket 9070 You can use all standard socket-based JPDA debuggers Chances are your favorite java editor supports this

Unpublished Work of Novell, Inc. All Rights Reserved. This work is an unpublished work and contains confidential, proprietary, and trade secret information of Novell, Inc. Access to this work is restricted to Novell employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of Novell, Inc. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability. General Disclaimer This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. Novell, Inc., makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc., reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All Novell marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.