Posts

Anatomy of workspace/wstemp in WebSphere Application Server .

What is Workspace: Whenever a user logs into the administrative console, or uses wsadmin scripting to make a configuration change, the changes are stored in the workspace. When a user uses the ConfigService configuration service interface of the Java application programming interfaces (APIs), the user specifies a session object that is associated with the workspace in order to store the changes. Only when the user performs a save operation under the administrative console, wsadmin scripting, or the Java APIs are the changes propagated and merged with the master configuration repository. For each administrative console user or each invocation of wsadmin scripting, the application server creates a separate workspace directory to store the intermediate changes until the changes are merged with the master configuration repository. Users of the Java APIs use different session objects to decide where the workspace directory resides. Both the administrative console and ws...

MustGather: Performance, hang, or high CPU issues with WebSphere Application Server on Linux

Image
If you are experiencing performance, hang, or high CPU issues with WebSphere Application Server on Linux, this MustGather will assist you in collecting the data necessary to diagnose and resolve the issue. There are two scripts that can be used to collect the performance diagnostic information Please expand the following section and download one of the scripts and use it to collect information during the problem Collecting data Complete the following three steps: (1) Collecting the required data: If you have not already done so, enable verboseGC and restart the problematic server(s). At the time of the problem, run the attached script with the following command: ./linperf.sh [PID] linperf.sh This script will create a file named linperf_RESULTS.tar.gz and three javacores. This...

HMGR0152W: CPU Starvation detected messages in SystemOut.log

Problem(Abstract) New system is working properly but HMGR warning messages are being logged in the SystemOut.log file. Symptom [10/25/05 16:42:27:635 EDT] 0000047a CoordinatorCo W HMGR0152W: CPU Starvation detected. Current thread scheduling delay is 9 seconds. Cause The HMGR0152W message is an indication that JVM thread scheduling delays are occurring for this process. The WebSphere® Application Server high availability manager component contains thread scheduling delay detection logic, that periodically schedules a thread to run and tracks whether the thread was dispatched and run as scheduled. By default, a delay detection thread is scheduled to run every 30 seconds, and will log a HMGR0152W message if it is not run within 5 seconds of the expected schedule. The message will indicate the delay time or time differential between when the thread was expected to get the CPU, and when the thread actually got CPU cycles. The HMGR0152W message can ...

How to diagnose error "SRVE0255E: A WebGroup/Virtual Host to handle {0} has not been defined"

Image
Error SRVE0255E means that the webcontainer could not find a web group (web module) or virtual host to handle the request. Here are the steps to diagnose this error: 1. Make sure that the URL entered at the browser is correct. Particularly, make sure that the context root from the URL matches the context root configured for the application. 2. Review the SystemOut.log to make sure that the application and server are started successfully and without any errors. 3. Verify that the application web module is mapped to the correct/intended virtual host. You can do this from the admin console by navigating to the following path: Applications > Websphere enterprise applications > [app_name] > Virtual hosts 4. Under the virtual host that the application is mapped to (#3), make sure that there is a host alias definition for the host name and port number that this request is sent to. You can do this from the admin console by navigating to the following path: E...

How nodeagent monitors WebSphere Application Server.

This document explains how the monitoring policy works in WebSphere Application Server (WAS) and what is the recommended way to start the application server in parallel. There are multiple ways to monitor the application server. For example, using JMX programming, using 3rd party tools, and using other sources. This document explains only how to use nodeagent monitoring for application server and monitoring servers using the Windows service. 1. When I reboot my machine, I want to start all the servers (including Dmgr and nodeagent) automatically. What is the recommended way to do to that? Create wasservice for Deployment Manager server and nodeagent using the WASServiceCmd and set it to automatic. Don't enable Application Server. Set the monitoring policy of application server to Running. Nodeagent can monitor application server process. It can start the server if the server is down) during nodeagent startup or can restart the hung server or start the ser...

Recommended Maximum Heap Sizes on 32 and 64 bit WebSphere Java instances

One of the most common questions asked in WebSphere Java support is, "What is the recommended Maximum Heap size?" One of the most common problems reported in WebSphere Java support is, "OutofMemory" condition (Java or Native).   This blog is simply a starting point or general reference based upon daily observations in the technical support arena, it is not intended to be a solution for every situation, but moreover a general set of starting recommendations. Ideally, you will need to test appropriate values in your own environments and topologies, based upon application architecture, number of applications running, how busy the AppServer is and underlying load conditions, how much physical memory or RAM is installed and running, how many JVMs are being hosted and what other additional Java and native memory processes are running on the same machine.   For 32 bit platforms and Java stacks in general, the recommended Maximum Heap range for WebSp...

Configuring and Implementing Dynamic Caching in WebSphere Application Server

Dynamic Cache Equals Performance  - Dynamic Cache is part of the IBM solution for improving the performance of Java 2 Platform, Enterprise Edition (J2EE™) applications running within WebSphere Application Server. - Dynamic Cache supports caching of Java™ servlets, JavaServer Pages™ (JSP™), WebSphere command objects, Web services objects, and Java objects. ƒ - This presentation describes the features and configuration steps of a dynamic cache environment for servlets and JSPs. ƒ The concept of caching static information in a browser, proxy or a webserver provides an effective way to reduce network and processing requirements. ƒ A larger overhead of many web applications is related to the serving, not of static content, but of dynamic content based on user input and retrieval of data from backend resources such as databases. ƒ IBM’s Dynamic Cache solution allows the customizable caching of dynamic content which can provide a major performance boost for high volume ...

Websphere Server topologies

Image
Single-server topology: Provides an application server and a Web site. Initially, a single instance is configured to use an internal database. Convert to a cluster or server farm to improve capacity and availability. WebSphere Portal, WAS, and the database are all installed on the same server. Optionally configure a Web server, with IBM WAS's HTTP plug-in to... Serve static resources Provide plug-in point for a corporate  SSO agent  in the event that WebSphere Portal participates in a global SSO domain Standalone server topology The stand-alone scenario is different from the single-server since the database server, LDAP server, and Web server software are installed on different physical servers than the IBM WebSphere Portal. This configuration enables you to distribute the software in the network and therefore distribute the processing load. For a stand-alone configuration, we can use an existing, supported database in the network and an existing, supp...

Start Websphere Application Server automatically with shell scripting

#!/bin/sh  # # script to start and stop WebSphere Application Server 5.x # WAS_HOME="/opt/WebSphere/AppServer" # WAS install dir  SERVERS="server1 MyAppServer" # list of app servers  if [ ! -d "${WAS_HOME}" ]; then    echo "$0: ${WAS_HOME} does not exist, aborting" >&2    exit 1  fi  case "$1" in  ’start’)  # increase resource limits    ulimit -n 1024    ulimit -s 16384     for s in ${SERVERS}; do        ${WAS_HOME}/bin/startServer.sh $s     done  ;;  ’stop’)      for s in ${SERVERS}; do         ${WAS_HOME}/bin/stopServer.sh $s     done     ;;  ’status’) ${WAS_HOME}/bin/serverStatus.sh -all   ;;  *)   echo "Usage: $0 " <start|stop|status>     exit 1     ;; esac