SUMMARY:Solaris 8 on UltraEnterprise 450 install

From: Christian Iseli <chris_at_ludwig-alpha.unil.ch>
Date: Thu May 16 2002 - 08:03:50 EDT
Hi,

Thanks to Simon Kuhn, Jay Lessert, Adam Levin, Krister Bergman, Thomas Anders, 
and Karl Vogel for their answers.

Adam thought that maybe I was pushing it a bit, having so many disks attached 
to the poor beast.  Since it's all we're gonna get for a while, there's no 
alternative.  He pointed me to a page
http://www.westnet.com/~levins/e450scsi.html
describing how the PCI busses and SCSI controlers are assigned in a 450.  The 
least I could do was try to balance the load among the several PCI controlers.

Karl provided some pointers to reference material (white papers) about solaris 
tuning, and some more meterial pasted below:
---
http://sunsolve.sun.com/private-cgi/retrieve.pl?type=2&doc=stb/1442
White Papers/Tech Bulletins 1442
Delivering Performance on Sun: System Tuning
Greg Schmitz and Allan Esclamado
30-Apr-1999

This document focuses on techniques for performance tuning for the Sun
computing environment.  It is aimed at system administrators.  Each chapter
concentrates on a different subsystem of the computing environment (e.g.,
Tuning the Solaris Kernel, Memory, Tuning Disk Subsystems, etc.) and the
specific things that can be done to increase performance.

-------------------------------------------------------------------------
If you have an application that's an incredible swap hog, or the system is
really slowing down, try adding the lines below to /etc/system and
rebooting.  I run with these settings and they've never caused me trouble.

*
* Swap
*   System keeps 1/8th of all memory for swap, which is too much for
*   a 4GB system.  Reduce that to 32 Mbytes (4096 8K pages).
set swapfs_minfree=4096
*
* Memory management
*
*   http://www.carumba.com/talk/random/tuning-solaris-checkpoint.txt
*   Tuning Solaris for FireWall-1
*   Rob Thomas robt@cymru.com
*   14 Aug 2000
*
*   On firewalls, it is not at all uncommon to have quite a bit of
*   physical memory.  However, as the amount of physical memory is
*   increased, the amount of time the kernel spends managing that
*   memory also increases.  During periods of high load, this may
*   decrease throughput.
*
*   To decrease the amount of memory fsflush scans during any scan
*   interval, we must modify the kernel variable autoup.  The default
*   is 30.  For firewalls with 128MB of RAM or more, increase this
*   value.  The end result is less time spent managing buffers,
*   and more time spent servicing packets.
set autoup = 120

-------------------------------------------------------------------------
Check the size of your inode caches, which keep track of previously-
accessed files.  Run the DNLC script below as root to see your hit-rate
percentage.  If it's under 90-95%, you need to up the cache size.
The easiest way to do that is change maxusers in /etc/system to a nice
high number like 2048.

Run "mount" to see how your filesystems are set up.  You can mount
filesystems with "noatime" and journalling ("logging") turned on,
meaning don't bother updating the access time whenever a file is opened.
We use this under Solaris-8, and it makes a *huge* difference if you're
doing something to a large number of small or medium sized files.

---------------------------------------------------------------------------
#!/bin/sh
#
# NAME:
#    dnlc
#
# SYNOPSIS:
#    dnlc
#
# DESCRIPTION:
#    "dnlc" reports on Directory name lookup cache statistics from
#    the kernel.  This corrects a bug in vmstat.
#
#    To change the kernel values, add something like this
#    to /etc/system and reboot.  Both "nnn" numbers should be the
#    same.
#
#         set ncsize = nnn
#         set ufs_ninode = nnn
#
# AUTHOR:
#    Kimberley Brown - UKAC Kernel Support
#    comp.unix.solaris

PATH=/bin:/usr/bin:/usr/local/bin
export PATH

adb -k /dev/ksyms /dev/mem <<END
="**  Directory/Inode Cache Statistics  **"
="----------------------------------------"
ufs_ninode/D"Inode cache size"
ncsize/D"Directory name cache size"
ncstats/D"# of cache hits that we used"
+/D"# of misses"
+/D"# of enters done"
+/D"# of enters tried when already cached"
+/D"# of long names tried to enter"
+/D"# of long name tried to look up"
+/D"# of times LRU list was empty"
+/D"# of purges of cache"
*ncstats%1000>a
*(ncstats+4)%1000>b
*(ncstats+14)%1000>c
<a+<b+<c>n
<a*0t100%<n=D"Hit rate percentage"
="(See /usr/include/sys/dnlc.h for more information)"
END

exit 0
---

A while ago, I said:
> I will soon be upgrading an UltraEnterprise 450 machine to Solaris 8 2/
> 02, and  I still have a few nagging doubts...

> The machine will have 4 GB RAM, about 1 TB disks, and Gigabit ethernet
> (Sun Vector Gigabit Ethernet PCI NIC).  It is used mainly as an NFS
> file server, and as a web server.  The main data partition will be a
> SDS concat/stripe of about 900 GB.  The disks are in the built-in
> racks, and in three D1000 cabinets.

> doubt #1: is the vge driver included in the Solaris 8 2/02 release,
> and part  of the normal install ?

Krister warned me that my vge board was not supported in Solaris 8, and was 
quite right about it.  I subsequently opened a call (the machine has a Silver 
support contract) and Sun Switzerland was nice enough to send me a replacement 
GE board for free.

> doubts #2: I have read through the "Solaris Tunable Parameters
> Reference  Manual", and came to the part on Per-Route Metrics, which
> explains that for  gigabit ethernet devices, tcp_recv_hiwat should be
> increased.  Question is:  how much ?  Also, should tcp_xmit_hiwat be
> increased as well ?

No specific answer.

> doubt #3: Am I correct in assuming that tcp_max_buf should be set
> around  104,857,600 (i.e., 100 times its default value) ?

No specific answer.

> doubt #4: the machine currently has 1.7 GB RAM and Solaris 2.6 (+
> patches).   If I look at vmstat, the sr column appears to stay at 0.
> Should I then set  dopageflush to 0 ?  Or am I better off increasing
> autoup ?

No specific answer.

> doubt #5: it sometimes happens in the current setting that a run-away
> perl script from the web server eats up all the swap space by filling
> up /tmp (mounted from swapfs) and the system pretty much hangs at that
> point.  Is setting tmpfs:tmpfs_minfree to some megabytes the right way
> to prevent the  freeze and allow root logins to kill the bad process ?
>  Is the default value  really 256 *bytes* ?

Jay had a simple solution:
Keep it simple.  Just limit /tmp size in vfstab:
    swap        -       /tmp    tmpfs   -       yes     size=500m

> doubt #6: what else am I missing ? ;) 

Simon said to be a bit weary of the 02/02 release, as the statd daemon has a 
known bug that will cause it to fail every now and then.  I can confirm this 
is the case, and it has to be restarted about once daily.  There's supposed to 
be a patch available in mid-May.

Regards,
					Christian
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers
Received on Thu May 16 08:08:27 2002

This archive was generated by hypermail 2.1.8 : Thu Mar 03 2016 - 06:42:43 EST