Skip to main content

Optimizing the Solaris Network Cache and Accelerator for the Apache Web Server

I met an old friend whom was complaining that one of his Solaris servers at work which run the Apache web server is very slow. He has added RAM and migrated from RAID-5 to RAID-0 to improve disk I/O but the problem still persists. He asked me if I have any tips to offer as I had some Solaris experience several years ago.

Googling on my personal file-server, I saw a tip I kept since year 2004. Since it could be useful to more people, I decided to share it on my blog.

Note: This tip offers an optimized configuration for dedicated web servers running Apache Web Server on a Solaris Operating System. This document is a brief how-to on configuring and optimizing the Solaris Network Cache and Accelerator (SNCA).

Requirements
  • Solaris 2.8 OS
  • 256MB RAM
  • Apache Web Server 1.3.x
Necessary Packages for the Solaris OS

32 bits:

SUNWncar
SUNWncau

64 bits:

SUNWncarx
SUNWncaux

1. As a start, edit the file /etc/nca/ncakmod.conf and configure the following parameters:

status=enabled
httpd_door_path=/var/run/nca_httpd_1.door
ncad_status=enabled
nca_active=disabled

2. Configure the log file used by SNCA:

Edit the file /etc/nca/ncalogd.conf and configure the following parameters:

status=enabled    // enabled /disabled
logd_path_name="/var/nca/log" // log file
logd_file_size=1000000 // Maximum file size


Create the log file:

$touch /var/nca/ncalogd.conf


3. Configure the network interfaces to work with SNCA:

Edit the file /etc/nca/nca.if:

Add the name of the interfaces, e.g.: hme0 or hme0:1 or * (for all interfaces)

Each interface must have its corresponding file hostname.interface-name inside /etc/ and the corresponding host line in the file /etc/hosts.


4. Verify that the following startup files exist and are enabled:

/etc/rc2.d/S42ncakmod
/etc/rc2.d/S94ncalogd


5. Verify that the line "nca (number)" exists inside the file /etc/name_to_major.


6. Optimizations for maximum performance:

Edit the file /etc/system and add in the end:

* Tuning NCA for 3GB of memory
set sq_max_size=0
set ge:ge_intr_mode=1
set nca:nca_conn_hash_size=82500 // Size of hash table
set nca:nca_conn_req_max_q=100000 // Maximum number of pending connections
set nca:nca_conn_req_max_q0=100000 // Maximum number of pending incomplete connections
set nca:nca_ppmax=290000 // Amount available of memory to use by SNCA (pags)
set nca:nca_vpmax=290000 // Amount available of virtual memory to use by SNCA


7. Restart the system with reconfigure option:

# reboot -- -r

8. Changes in Apache Web Server:

Edit the file /apache/conf/httpd.conf:

KeepAlive Off

Comment the following parameters:

#Timeout
#MaxKeepAliveRequests
#KeepAliveTimeout


Edit the file /apache/bin/apachectl and include:

# Enable NCA:
NCAKMODCONF=/etc/nca/ncakmod.conf
if [ -f $NCAKMODCONF ]; then
. $NCAKMODCONF
if [ "x$status" = "xenabled" ]; then
HTTPD="env LD_PRELOAD=/usr/lib/ncad_addr.so $HTTPD"
fi
fi


9. Restart Apache Web Server:

/apache/bin/apachectl restart


10. To view the log file:

#ncab2clf -D -i /var/nca/log


That's all :)

Comments

Popular posts from this blog

From Toilet Cleaner to CEO

On 22-April-2012, my entrepreneurship journey story was published by The Sunday Times in Singapore by Mr. Wong Kim Hoh

Strategic Plan vs. Operational Plan

Strategic Plan Vs. Operational Plan: Do You Know the  5 Main Differences ? What's the difference between a Strategic Plan vs. an Operational Plan? Both are plans but are they the same? If not, what’s the difference? Do you need both? Why do we need both?  After mentoring Start-Ups from pre-revenue to achieving at least S$1M in revenues since 2012 and supporting growing Small-Medium Enterprises within the S$4M to S$10M range revenues, whose leadership teams are stuck in their day to day operational matters and fire-fighting, I hear these questions frequently.  My response: A  strategic plan  outlines your Vision, Mission, Core Values to build the Culture with high-level goals for the next 3 to 5 years. It also takes into account how you’ll measure those goals, and the major projects you’ll take on to meet them. An  operational plan  (also known as a  work plan ) is an outline of what each of your business d...
Why Data Backups Are So Important Our computers, smartphones, personal digital assistants, MP3 players, operating systems, and software are tools that we use to create and manipulate the content that is the most important aspect of computing - our data. Without your personalized data, the computing experience will be mundane and very generic. We need to be able to create in order to really feel good about what we’re doing. Many times people don’t realize how important their data is until it’s too late. I have see customers whom says, why do I need to spend $3,000 on a tape backup system just to archive, copy another instance of my data and then keep it? I’ve seen way too many people treat their hard drive’s like an all-you-can-eat buffet, and they’ll just pile anything and everything that they can find into an endless collection of files and folders that will be very difficult to make sense of in the future. The whole point of technology should be to simplify our lives instead of comp...