Tuesday, December 07, 2004

Solaris Network Cache and Accelerator

Just came across Solaris Network Cache and Accelerator. From what i read it looks the same way that squid would run for a local http server.

Solaris NCA Architecture
Solaris NCA consists of the following components:

  • Solaris NCA technology-enabled Web server: httpd

  • Kernel module: ncakmod
    • The kernel module ncakmod maintains the cache of Web pages in system memory. It also communicates with a Web server, httpd, through a sockets interface (family type AF_NCA).

    • The kernel module also provides a logging-facility, which logs all HTTP cache hits. Solaris NCA logging writes HTTP data to the disk in binary format and provides the utility for converting binary log files to common log format (CLF).

How Does Solaris NCA Work?
In the absence of Solaris NCA, the data flows from the Network Interface Card (NIC) to the Web server through the IP and TCP layers.
Once Solaris NCA is enabled, the request flow between the client and the Web server happens as follows:

1. An HTTP request is made from the client to the Web server.
2. Packet from the client hits the Solaris NCA Packet Switch.
P4 When to use the Solaris NCA ©2002 Sun Microsystems, Inc.
3. The Solaris NCA Packet Switch looks at the port number, and decides if the incoming packet
is meant for NCA(dport=80) or IP.
4. Solaris NCA IP (which is optimized for Solaris NCA), processes the packets.
5. Solaris NCA TCP (which is optimized for Solaris NCA), looks up the connection or creates a new one, and passes the packet to the HTTP Parser.
6. The HTTP engine parses the packet, while the Cache Manager checks with the Kernel Cache to find out if it is a static request and if the page is cached.
7. If the page is in cache, the in-kernel cache Web page is returned.
8. If the page is not in cache, the request goes to the Web server to retrieve or update the page.
9. Depending on the HTTP protocol semantics used in the HTTP response, the page is cached or not, and then returned to the client. If the Pragma: No-cache header is included in the HTTP request, the page is not cached.

When to use the Solaris NCA
The Solaris NCA should run on a dedicatedWeb server. Simultaneously running large CPU- and memory-intensive processes on the same server that is running the Solaris NCA may cause problems.

Web Servers Supported
The Solaris NCA uses a sockets interface through which Web servers can communicate with minimal modifications. It works with the most popular socket-based Web servers, such as the Sunª ONE Web Server, Apache, AOL, and Zeus, without protracted modifications. These modifications include only changes in the configuration files, not source code changes.

As you know sysads and n/w ads are a lot with lot to try new stuff i am goona try this soon and try and publish the results to see what happens.

Anyone having experience on using this can post in their comments.



Post a Comment

<< Home