If EAServer runs for awhile, then stops responding to requests:
Check whether the issue exists only with specific types of requests (listeners, connections, and so on) or with everything (EAServer is not responding at all). If it is specific, continue with step 2; otherwise, go to step 4.
Check listeners, including IIOP, TDS, and HTTP as follows:
Connect to the IIOP listener port using EAServer Manager. A successful connection means that IIOP is working.
If you cannot connect, check to see whether the maximum number of IIOP or total sessions have been reached. If not, obtain a stack trace.
Check the TDS listener port by executing a MASP call. Use isql for an Adaptive Server Anywhere or Adaptive Server Enterprise database. Use a vendor-supplied tool for other database types.
For example, use the following isql command to return the server build number, using the Management component:
isql -Ujagadmin -P -SJaguar 1> exec Jaguar.Management.getServerBuildNumber 2> go
See Appendix A of the EAServer Programmer’s Guide for more information about MASP.
Check the HTTP listener port at http://machine_name:8080 for default documentation. If the document is visible, HTTP is working. If you cannot view the default documentation:
Check whether the maximum HTTP or total sessions have been reached.
Turn on HTTP request logging, and include additional items com.sybase.jaguar.server.http.elffenable (show extended items) com.sybase.jaguar.server.http.elffitems (show item information).
If you are using a Web server redirector, set verbose logging in the configuration file.
Check the HTTP request log, HTTP error log, and the server log.
Check the connection cache:
Ping the connection cache in EAServer Manager. If ping fails, use isql (or a vendor-supplied tool for a non-Sybase database) to try a simple SQL request outside EAServer.
Using a database monitoring tool, investigate what is happening on the database server side. Check locks held.
Look at the cache in EAServer Monitor. Verify that you have not reached the maximum number of connections for the cache. Check the number of connections: active, pooled, forced, peak, and so on.
If you were connecting to Adaptive Server Enterprise, check that the log file is not full; this can cause EAServer to hang. Trace the connection using the Ribo utility to verify that the last TDS or SQL requests passed. For information about using Ribo, see the jConnect for JDBC Installation Guide.
If you are making a JDBC connection, turn on the JCM debug flag to identify any SQL requests that may be causing the problem; try connecting through isql (or a vendor-supplied tool for a non-Sybase database) to check the response time.
Check whether a specific component or Web application may be responsible:
Try another component.
Review component properties. Is the component shared? Are variables set unexpectedly?
Set com.sybase.jaguar.component.debug and com.sybase.jaguar.component.trace to on.
Review the component code to look for:
A non-threadsafe sleep call
Synchronization for static variables
Proper release of resources
Try using the Apache TomCat servlet engine to host your Web components, delegating EJB requests to EAServer. See White Paper 1016589, Using EAServer 4.0 with Apache’s TomCat 3.3, for details.
If there is no response from any facility, including HTTP and IIOP listeners, connection caches, or components:
Verify whether EAServer maximums are being reached; specifically, check if client sessions (IIOP + TDS) are at their maximum, or if the maximum thread limit (IIOP + HTTP) is reached.
In versions of PowerBuilder earlier than 8.0.3, instance
data stores use twice as many threads as they currently do.
Check whether other tasks are running, and whether operating system peaks are being hit.
Get a stack trace or dump. You must first kill the jagsrv process, run the core image, or generate the dump using a debugger. See Chapter 6, “Advanced Topics” for more information.
Copyright © 2005. Sybase Inc. All rights reserved. |
![]() |