7 Managing and Monitoring Server Processes
You have tools and procedures that help to manage and monitor the performance of Oracle HTTP Server.
This chapter includes the following sections. These sections discuss the procedures and tools that manage the server in your environment.
- Oracle HTTP Server Processing Model
There are two types of processing models that help to monitor Oracle HTTP Server: Request Process Model and Single Unit Process Model. - Monitoring Server Performance
Oracle Fusion Middleware automatically and continuously measures runtime performance for Oracle HTTP Server and Oracle WebLogic Server proxy plug-in module. - Oracle HTTP Server Performance Directives
Oracle HTTP Server performance is managed by directives specified in the configuration files. Use Fusion Middleware Control to tune performance-related directives for Oracle HTTP Server. - Understanding Process Security for UNIX
Special configuration is required to allow Oracle HTTP Server to bind to privileged ports when installed on UNIX.
Parent topic: Managing Oracle HTTP Server
Oracle HTTP Server Processing Model
There are two types of processing models that help to monitor Oracle HTTP Server: Request Process Model and Single Unit Process Model.
The following sections describe the processing models for Oracle HTTP Server.
Parent topic: Managing and Monitoring Server Processes
Request Process Model
After Oracle HTTP Server is started, it is ready to listen for and respond to HTTP(S) requests. The request processing model on Microsoft Windows systems differs from that on UNIX systems.
-
On Microsoft Windows, there is a single parent process and a single child process. The child process creates threads that are responsible for handling client requests. The number of created threads is static and can be configured for performance.
-
On UNIX, there is a single parent process that manages multiple child processes. The child processes are responsible for handling requests. The parent process brings up additional child processes as necessary, based on configuration. Although the server can dynamically start additional child processes, it is best to configure the server to start enough child processes initially so that requests can be handled without having to spawn more child processes.
Parent topic: Oracle HTTP Server Processing Model
Single Unit Process Model
Oracle HTTP Server provides functionality that allows it to terminate as a single unit if the parent process fails. The parent process is responsible for starting and stopping all the child processes for an Oracle HTTP Server instance. The failure of the parent process without first shutting down the child processes leaves Oracle HTTP Server in an inconsistent state that can only be fixed by manually shutting down all the orphaned child processes. Until all the child processes are closed, a new Oracle HTTP Server instance cannot be started because the orphaned child processes still occupy the ports the new Oracle HTTP Server instance needs to access.
To prevent this from occurring, the DMS instrumentation layer in child processes on UNIX and monitor functionality within WinNT MPM on Windows monitor the parent process. If they detect that the parent process has failed, then all of the remaining child processes are shut down.
Parent topic: Oracle HTTP Server Processing Model
Monitoring Server Performance
Oracle Fusion Middleware automatically and continuously measures runtime performance for Oracle HTTP Server and Oracle WebLogic Server proxy plug-in module.
The server performance metrics are automatically enabled; you do not need to set options or perform any extra configuration to collect them. If you encounter a problem, such as an application that is running slowly or hanging, you can view the metrics to find out more about the problem. Fusion Middleware Control provides real-time data. Cloud Control can be used to view historical data.
These sections describe performance metrics and how to view them:
- Oracle HTTP Server Performance Metrics
Following section lists commonly-used metrics that can help you analyze Oracle HTTP Server performance. - Viewing Performance Metrics
You can view the performance metrics of the Oracle HTTP Server and Oracle WebLogic Server Proxy Plug-In module by using the Fusion Middleware Control or issuing the appropriate WLST command. View performance metrics to monitor and analyze the server performance.
Parent topic: Managing and Monitoring Server Processes
Oracle HTTP Server Performance Metrics
Following section lists commonly-used metrics that can help you analyze Oracle HTTP Server performance.
Oracle HTTP Server Metrics
The Oracle HTTP Server Metrics folder contains performance metric options for Oracle HTTP Server. The following table describes the metrics in the Oracle HTTP Server Metrics folder:
Element | Description |
---|---|
CPU Usage |
CPU usage and idle times |
Memory Usage |
Memory usage and free memory, in MB |
Processes |
Busy and idle process metrics |
Request Throughput |
Request throughput, as measured by requests per second |
Request Processing Time |
Request processing time, in seconds |
Response Data Throughput |
Response data throughput, in KB per second |
Response Data Processed |
Response data processed, in KB per response |
Active HTTP Connections |
Number of active HTTP connections |
Connection Duration |
Length of time for connections |
HTTP Errors |
Number of HTTP 4xx and 5xx errors |
Oracle HTTP Server Virtual Host Metrics
The Oracle HTTP Server Virtual Host Metrics folder contains performance metric options for virtual hosts, also known as access points. The following table describes the metrics in the Oracle HTTP Server Virtual Host Metrics folder:
Element | Description |
---|---|
Request Throughput for a Virtual Host |
Number of requests per second for each virtual host |
Request Processing Time for a Virtual Host |
Time to process each request for each virtual host |
Response Data Throughput for a Virtual Host |
Amount of data being sent for each virtual host |
Response Data Processed for a Virtual Host |
Amount of data being processed for each virtual host |
Oracle HTTP Server Module Metrics
The Oracle HTTP Server Module Metrics folder contains performance metric option for modules. The following table describes the metrics in the Oracle HTTP Server Module Metrics folder.
Element | Description |
---|---|
Request Handling Throughput |
Request handling throughput for a module, in requests per second |
Request Handling Time |
Request handling time for a module, in seconds |
Module Metrics |
Modules including active requests, throughput, and time for each module |
Parent topic: Monitoring Server Performance
Viewing Performance Metrics
You can view the performance metrics of the Oracle HTTP Server and Oracle WebLogic Server Proxy Plug-In module by using the Fusion Middleware Control or issuing the appropriate WLST command. View performance metrics to monitor and analyze the server performance.
You can view Oracle HTTP Server and Oracle WebLogic Server Proxy Plug-In module performance metrics by using the procedures described in the following sections:
Parent topic: Monitoring Server Performance
Viewing Server Metrics by Using Fusion Middleware Control
You can view metrics from the Oracle HTTP Server home menu of Fusion Middleware Control:
Parent topic: Viewing Performance Metrics
Viewing Server Metrics Using WLST
To obtain and view metrics for an instance from the command line, you must connect to, and issue the appropriate WLST command. These commands allow you to perform any of these functions:
-
Display Metric Table Names
-
Display metric tables
-
Dump metrics
Note:
For more information on using WLST, see Understanding the WebLogic Scripting Tool.
Before attempting this procedure:
Before attempting to access server metrics from the command line, ensure the following:
-
The domain exists and the instance for which you want to see the metrics exist.
-
The instance is running.
-
Node Manager is running on the instance machine.
The Administration server can be running, but this is not required.
To view metrics using WLST:
Note:
In both managed and standalone domain types, the following procedure will work whether you run the commands from the same machine or from a machine that is remote to the server.
Parent topic: Viewing Performance Metrics
Oracle HTTP Server Performance Directives
Oracle HTTP Server performance is managed by directives specified in the configuration files. Use Fusion Middleware Control to tune performance-related directives for Oracle HTTP Server.
The following sections describe the Oracle HTTP Server performance directives.
- Understanding Performance Directives
- Configuring Performance Directives by Using Fusion Middleware Control
Parent topic: Managing and Monitoring Server Processes
Understanding Performance Directives
Oracle HTTP Server uses directives declared in httpd.conf and other configuration files. This configuration file specifies the maximum number of HTTP requests that can be processed simultaneously, logging details, and certain limits and timeouts. Oracle HTTP Server supports and ships with the following Multi-Processing Modules (MPMs) which are responsible for binding to network ports on the machine, accepting requests, and dispatching children to handle the requests:
-
WinNT: This is the default MPM for Oracle HTTP Server on Windows platforms. It uses a single control process which launches a single child process which in turn creates threads to handle requests.
-
Prefork: This MPM implements a non-threaded, pre-forking server that handles requests in a manner similar to Apache 1.3. It is appropriate for sites that need to avoid threading for compatibility with non-thread-safe libraries. It is also the best MPM for isolating each request, so that a problem with a single request will not affect any other. If you are going to implement a CGI module with this MPM, use only mod_fastcgi.
-
Event: This is the default MPM for Oracle HTTP Server in Linux environments. This MPM is designed to allow more requests to be served simultaneously by passing off some processing work to supporting threads, freeing up the main threads to work on new requests. It is based on the Worker MPM, which implements a hybrid multi-process multi-threaded server. Run-time configuration directives are identical to those provided by Worker.
The following sections describe how to change the MPM type value for an Oracle HTTP Server instance in a standalone and an Oracle WebLogic Server domain.
- Changing the MPM Type Value in a Standalone Domain
- Changing the MPM Type Value in a WebLogic Server Managed Domain
Parent topic: Oracle HTTP Server Performance Directives
Changing the MPM Type Value in a Standalone Domain
To change the MPM type value for an Oracle HTTP Server instance in a standalone domain, follow these steps:
Parent topic: Understanding Performance Directives
Changing the MPM Type Value in a WebLogic Server Managed Domain
To change the MPM type value for an Oracle HTTP Server instance in an Oracle WebLogic Server domain, follow these steps.
Note:
The following steps assume that the Administration Server and Node Manager for the domain are already up and running.
Parent topic: Understanding Performance Directives
Configuring Performance Directives by Using Fusion Middleware Control
The discussion and recommendations in this section are based on the use of Worker, Event, or WinNT MPM, which uses threads. The thread-related directives listed below are not applicable if you are using the Prefork MPM.
Use the Performance Directives page of Fusion Middleware Control to tune performance-related directives for Oracle HTTP Server.
Performance directives management consists of these areas: request, connection, and process configuration. The following sections describe how to set these configurations.
- Setting the Request Configuration by Using Fusion Middleware Control
- Setting the Connection Configuration by Using Fusion Middleware Control
- Setting the Process Configuration by Using Fusion Middleware Control
Parent topic: Oracle HTTP Server Performance Directives
Setting the Request Configuration by Using Fusion Middleware Control
To specify the Oracle HTTP Server request configuration using Fusion Middleware Control, do the following:
The request configuration settings are saved, and shown on the Performance Directives page.
Setting the Connection Configuration by Using Fusion Middleware Control
To specify the connection configuration using Fusion Middleware Control, do the following:
The connection configuration settings are saved, and shown on the Performance Directives page.
Setting the Process Configuration by Using Fusion Middleware Control
The child process and configuration settings impact the ability of the server to process requests. You might need to modify the settings as the number of requests increase or decrease to maintain a well-performing server.
For UNIX, the default number of child server processes is 3. For Microsoft Windows, the default number of threads to handle requests is 150.
To specify the process configuration using Fusion Middleware Control, do the following:
The process configuration settings are saved, and shown on the Performance Directives page.
Understanding Process Security for UNIX
Special configuration is required to allow Oracle HTTP Server to bind to privileged ports when installed on UNIX.
By default, Oracle HTTP Server is not able to bind to ports on UNIX in the reserved range (typically less than 1024). To enable Oracle HTTP Server to listen on ports in the reserved range (for example, port 80 and port 443) on UNIX, see Starting Oracle HTTP Server Instances on a Privileged Port (Linux and UNIX Only).
Parent topic: Managing and Monitoring Server Processes