te
Copyright (C) 2005, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
NCA 1 "Feb 22, 2005"
NAME
nca, snca - the Solaris Network Cache and Accelerator (NCA)
DESCRIPTION

The Solaris Network Cache and Accelerator ("NCA") is a kernel module designed to provide improved web server performance. The kernel module, ncakmod, services HTTP requests. To improve the performance of servicing HTTP requests, the NCA kernel module maintains an in-kernel cache of web pages. If the NCA kernel module cannot service the request itself, it passes the request to the http daemon (httpd). It uses either a sockets interface, with family type designated PF_NCA, or a private Solaris doors interface that is based on the Solaris doors RPC mechanism, to pass the request.

To use the sockets interface, the web server must open a socket of family type PF_NCA. The PF_NCA family supports only SOCK_STREAM and protocol 0, otherwise an error occurs.

The following features are not presently supported:

You cannot initiate a connection from a PF_NCA type socket. The connect(3SOCKET) interface on PF_NCA fails.

System calls that are associated with type SO_DGRAM, such as send(), sendto(), sendmsg(), recv(), recvfrom(), and recvmsg(), fails.

You cannot set TCP or IP options on a PF_NCA type socket through setsockopt(3SOCKET).

The NCA cache consistency is maintained by honoring HTTP headers that deal with a given content type and expiration date, much the same way as a proxy cache.

For configuration information, see System Administration Guide: IP Services

When native PF_NCA socket support does not exist in the web server, the ncad_addr(4) interface must be used to provide NCA support in that web server.

NCA is intended to be run on a dedicated web server. Running other large processes while running NCA might cause undesirable behavior.

NCA supports the logging of in-kernel cache hits. See ncalogd.conf(4). NCA stores logs in a binary format. Use the ncab2clf(1) utility to convert the log from a binary format to the Common Log File format.

FILES
/etc/nca/ncakmod.conf

Lists configuration parameters for NCA.

/etc/nca/ncalogd.conf

Lists configuration parameters for NCA logging.

/etc/nca/nca.if

Lists the physical interfaces on which NCA runs.

/etc/nca/ncaport.conf

ncaport configuration file

/etc/hostname.{}{0-9}

Lists all physical interfaces configured on the server.

/etc/hosts

Lists all host names associated with the server. Entries in this file must match with entries in /etc/hostname.{}{0-9} for NCA to function.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
SEE ALSO

ncab2clf(1), ncakmod(1), close(2), read(2), write(2), sendfilev(3EXT), accept(3SOCKET), bind(3SOCKET), connect(3SOCKET), door_bind(3C), door_call(3C), door_create(3C), getsockopt(3SOCKET), listen(3SOCKET), setsockopt(3SOCKET), shutdown(3SOCKET), socket.h(3HEAD), socket(3SOCKET), ncad_addr(4), nca.if(4), ncakmod.conf(4), ncaport.conf(4), ncalogd.conf(4), attributes(5)

System Administration Guide: IP Services