Oracle
  Home arrow Oracle arrow Page 4 - Configuring the Oracle HTTP Server
Dev Shed Forums 
Administration  
AJAX  
Apache  
BrainDump  
DHTML  
Flash  
Java  
JavaScript  
Multimedia  
MySQL  
Oracle  
Perl  
PHP  
Practices  
Python  
Reviews  
Security  
Style-Sheets  
Web Services  
XML  
Zend  
Zope  
Forums Sitemap 
IBM® developerWorks 
Sun Developer Network 
Dedicated Servers 
E-Commerce Hosting 
Linux Web Hosting 
Managed Hosting 
Small Business Hosting 
Actuate Whitepapers 
VeriSign Whitepapers 
VPS Hosting 
Weekly Newsletter

 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid 
Request Media Kit
Contact Us 
Site Map 
Privacy Policy 
Support 
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
ORACLE

Configuring the Oracle HTTP Server
By: McGraw-Hill/Osborne
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 5 stars5 stars5 stars5 stars5 stars / 3
    2007-01-18

    Table of Contents:
  • Configuring the Oracle HTTP Server
  • Access Control Directives
  • Administration Directives
  • Managing Processes and Connections

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      Del.ici.ous Digg
      Blink Simpy
      Google Spurl
      Y! MyWeb Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article
     
     
    ADVERTISEMENT

    Stay one step ahead of the competition. Evaluate and give feedback on some of the hottest web development tools on the market today. Make your opinion heard! Click Here

    Configuring the Oracle HTTP Server - Managing Processes and Connections


    (Page 4 of 4 )

    There are several server configuration-level directives you can use in the httpd.conf server configuration file to control the number of OHS processes and other runtime server-related issues. On a UNIX server, you use the following server-level directives to manage processes and connections:

    • StartServers   The StartServers directive determines the number of child server processes created with the parent control process. The default value for the StartServers directive is 5. Because the OHS server will dynamically adjust the number of child server processes depending on the load, you don't have to worry about setting the value for this directive, in general.
    • MaxClients    The MaxClients directive determines the maximum number of simultaneous connections that will be handled by the OHS server. Any connection attempts over the MaxClients setting will be queued, and will be accepted once the existing connections start dropping off. The default value for the MaxClients directive is 150.
    • MaxRequestsPerChild   This directive lets you specify the number of requests each child process can handle before it dies. Each child process will handle a maximum of 30 requests during its lifetime before it automatically expires. If you set the MaxRequestsPerChild directive to a value of 0, the child processes will not die until you reboot the OHS server. Although this may seem like a tempting thing to do, remember that you increase the risk of running out of memory, say by a child process incurring a memory leak during its (eternal) lifetime. Also, when the OHS server load drops, it's advisable to run with a smaller number of child processes than that required during the peak load times. By setting a positive value (the default is a positive value of 30), you guarantee that the child processes have a finite lifetime, thus matching the number of child processes with the OHS server load.
    • MaxSpareServers   This directive specifies the maximum number of unused child server processes that must be kept running. By default, the value for this directive is a maximum of ten server processes. If there are more idle servers than that specified by the MaxSpareServers directive, OHS will start killing idle child processes until it reaches the MaxSpareServers setting.
    • MinSpareServers    This directive specifies the minimum number of child servers that must be kept running, and the default value for this directive is 5. If there are fewer than five child server processes alive, new processes are created at an increasing rate on a per second basis, until the rate set by the MAX_SPAWN_ RATE parameter is reached. Default value for the MAX_SPAWN_RATE parameter is 32.

      You use the following directives in both the UNIX and the Windows systems: 
    • KeepAlive   This directive enables you to use a persistent connection, which improves the scalability of the Oracle HTTP Server. By default, the KeepAlive directive is set to ON, meaning persistent connections are enabled by default when you use OHS. Since HTTP connections are stateless, if you don't set this parameter to ON, a browser will need to make separate connections for each request from the server. Thus, for a Web page that contains a half a dozen images calling for .gif files, a client Web browser is forced to open a total of seven connections--one for the page and six requests for the six image files. Making multiple connections to satisfy the client request as shown here will increase the latency due to the time it takes to establish all the connections. By letting the KeepAlive directive remain at its default ON setting, your Web server performance will be dramatically higher, because latency will drop due to the need for fewer connections. Of course, there is an inherent tradeoff in using the KeepAlive On setting, because this way your server will have the burden of managing more persistent connections than if you had set the KeepAlive directive OFF.

    on the job:   You must keep the KeepAlive directive set to OFF if you're using OracleAS Clusters.

    • KeepAliveTimeout   This directive determines the number of seconds the OHS Server waits for a connection request following the first connection, before terminating the connection.
    • MaxKeepAliveRequests    This directive determines the number of requests allowed per connection, when you set the KeepAlive directive to ON. Default value is 0, which means that there is no limit to the number of requests that are allowed. You must set MaxKeepAliveRequests at a high value to make OHS perform efficiently.
    • ThreadsPerChild   This directive controls the number of simultaneous requests for connections. It is applicable only to a Windows server.

    Please check back next week for the continuation of this article.


    DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware.

       · This article is an excerpt from the book "Oracle 10g Application Server Exam Guide,"...
     

    Buy this book now. This article is excerpted from chapter five of the book Oracle 10g Application Server Exam Guide, written by Sam Alapati (McGraw-Hill, 2006; ISBN: 0072262710). Check it out today at your favorite bookstore. Buy this book now.

       

    ORACLE ARTICLES

    - Tuning PL/SQL Code
    - Debugging PL/SQL Code
    - Testing PL/SQL Code
    - Working With PL/SQL Code
    - Conditional Compilation for Oracle Database ...
    - Compile-Time Warnings for Oracle DB 10g
    - Compiling PL/SQL Code for an Oracle Database
    - Troubleshooting PL/SQL Code
    - Managing PL/SQL Code
    - Data Manipulation and More for HTML DB Appli...
    - Oracle Database Fundamentals
    - Adding Processes to HTML DB Applications
    - Adding Computations, Processes, and Validati...
    - Sub-templates and More with Oracle HTML DB
    - Focusing on Templates in Oracle HTML DB





    © 2003-2008 by Developer Shed. All rights reserved. DS Cluster 1 hosted by Hostway