Re: Config for new live system
Posted in 2004
Topics: High Availability & Replication, Backup & Restore, Performance & Tuning, Storage & Space Management, Server Administration, Transactions, Locking & Isolation, Logging & Checkpoints, Networking & sqlhosts Configuration, Platform-Specific Issues, Versions, Editions & End-of-Life
On Fri, 17 Sep 2004 03:28:11 -0400, Neil Truby wrote:
Hi Neil,
All good advice, but reading it all to filter my own responses takes to much
time, so here's my partially redundant, take:
> I'm implementing a brand new system for a brand new Informix customer soon.
> It's an on-line gambling system so it will be up for months on end.
>
> It's to be IDS 7.31FC6 on a Sun SureFire v440 with 2 processors and 4GBytes
> of RAM, running Solaris 9. The Informix database will be the only thing
> running, and will be replicated via HDR to an identically-configured server.
>
> The database server is expected only to grow to 50Gbytes. The SureFire v440
> has 4 x 36GBytes disks, and a StorEdge arrears, to be presented as JBOD, has
> an additional 8 x 36Gbyte disks. I'm planning to use two of the internal
> disks as a RAID-1 mirror boot, and use Solaris Volume Manager to present the
> remaining 10 as a 5 x 36 = 180 Gbyte logical volume, also protected with
> RAID-1.
So a single pair mirror for the OS and is that a mirror of two 5 spindle
stripes (RAID01) or a stripe of 5 mirrored pairs (RAID10)?
Trick question. Go with the RAID10 configuration. Better recovery times and
far safer if there's a multi-drive failure before recovery completes. Also
lower impact on processing during recovery.
More below:
> It'll be up for months on end so I need to get the initial config correct.
> I'd be grateful for any comments on the above layout or the proposed
> onconfig below. btw, we'll be backing up data and logs with onbar/ISM.
>
> thanks
>
> Neil
>
>
>
> #**************************************************************************
> #
> # INFORMIX SOFTWARE, INC. # # Title: onconfig.std #
> Description: Informix Dynamic Server Configuration Parameters #
> #**************************************************************************
>
> # Root Dbspace Configuration
>
> ROOTNAME rootdbs # Root dbspace name ROOTPATH
> /opt/informix/dbspaces1/rootdbs> # Path for device containing root dbspace
> ROOTOFFSET 0 # Offset of root dbspace into device
> (Kbytes)
Zero offset's only a problem if you use Solaris partitions (and only on the
first partition). The VM is safe.
> ROOTSIZE 51200 # Size of root dbspace (Kbytes)>
> # Disk Mirroring Configuration Parameters
>
> MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
ALways set MIRROR to 1. You can use it someday to migrate to a newer disk
structure or to perform an external backup to quickly clone a server.
> MIRRORPATH # Path for device containing mirrored root
> MIRROROFFSET 0 # Offset into mirrored device (Kbytes)>
> # Physical Log Configuration
>
> PHYSDBS physdbs # Location (dbspace) of physical log
> PHYSFILE 102294 # Physical log file size (Kbytes)>
> # Logical Log Configuration
>
> LOGFILES 40 # Number of logical log files LOGSIZE
> 1024 # Logical log size (Kbytes)
Most real systems need much more log space than this. But you do not want to
start the engine with 40 logs unless you intend to leave the logical logs in
the rootdbs. Otherwise start with 6, create the new ones in a new dbspace,
and then drop the original 6.
> # Diagnostics
>
> MSGPATH /opt/informix/online_1.log # System message log file path
> CONSOLE /opt/informix/console_1.log # System console message path
> ALARMPROGRAM /opt/informix/7.31/etc/log_full.sh # Alarm program path
> SYSALARMPROGRAM /opt/informix/7.31/etc/evidence.sh # System Alarm program
> path
> TBLSPACE_STATS 1>
> # System Archive Tape Device
>
> TAPEDEV /opt/informix/dbspaces1/tapedev
> TAPEBLK 16
> # Tape block size (Kbytes)
> TAPESIZE 2048000 # Maximum> amount of data to put on tape (Kbytes)
>
> # Log Archive Tape Device
>
> LTAPEDEV /opt/informix/dbspaces1/ltapedev # Log tape device
> path
> LTAPEBLK 16 # Log tape block size (Kbytes) LTAPESIZE> 10240 # Max amount of data to put on log tape (Kbytes)
>
> # Optical
>
> STAGEBLOB # Informix Dynamic Server/Optical staging
> area
>
> # System Configuration
>
> SERVERNUM 1 # Unique id corresponding to a Dynamic> Server instance
> DBSERVERNAME fafdb1_tcp # Name of default database server
> DBSERVERALIASES fafdb1_shm # List of alternate dbservernames
> NETTYPE tlitcp,2,100,NET
Add an entry for shared memory connections using all CPU VPs, so:
NETTYPE ipcshm,2,100,CPU
> DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed
> env.
> RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)
Go with RESIDENT 1, or better since you have so much RAM, make it:
RESIDENT -1 # Resident -1 makes the initial virtual segment resident aswell as the 'resident' segment. This prevents any active memory from being
swapped out.
> MULTIPROCESSOR 1 # 0 for single-processor, 1 for> multi-processor
> NUMCPUVPS 2 # Number of user (cpu) vps
For CPU speeds > ~400MHZ you can configure at least one CPU VP / physical CPU
on most platforms (> 750MHZ for Intel CPUS) and get incremental improvements
in performance and throughput.
> SINGLE_CPU_VP 0> # If non-zero, limit number of cpu vps to one
>
> NOAGE 1 # Process aging
Very important on Solaris.
> AFF_SPROC 0
> # Affinity start processor
> AFF_NPROCS 0 # Affinity> number of processors
Affinity's probably useless with only 2 CPUs, so this is fine.
> # Shared Memory Parameters
>
> LOCKS 50000 # Maximum number of locks
Locks are cheap (44 bytes in 9.4 IB ~36 in 7.3x) configure 1,000,000 so that
once a year cleanup or mass load that's poorly written has no problems.
> BUFFERS 1024000 # Maximum number of shared buffers
Wow! Do you REALLY expect to have an active working set of nearly 2GB?
reevaluate and make this about 35% above the active dataset size to allow for
overhead and index pages. You should be able to run for about 20 minutes
without reading from disk on average (BTR == 3/hour) with great performance.
I can't guess this one for you.
> NUMAIOVPS 2 # Number of IO vps
Set this to at least 6 to start even as you plan to use RAW chunks and KAIO.
You can adjust it downwards later if neccessary, but I think you'll find all
6 being used actively writing to text logs.
> PHYSBUFF 32 # Physical log buffer size (Kbytes)
> LOGBUFF 32 # Logical log buffer size (Kbytes)> LOGSMAX 60 # Maximum number of logical log files
Make this seemingly huge, say 500. In case you have to add more logfiles
later.
> CLEANERS 29 # Number of buffer cleaner processes
CLEANERS
"Art S. Kagel" <kagel@bloomberg.net> wrote in message
news:pan.2004.09.21.15.29.41.378676.1355@bloomberg.net...
> On Fri, 17 Sep 2004 03:28:11 -0400, Neil Truby wrote:
>
>
> So a single pair mirror for the OS and is that a mirror of two 5 spindle
> stripes (RAID01) or a stripe of 5 mirrored pairs (RAID10)?
>
> Trick question. Go with the RAID10 configuration. Better recovery times
and
> far safer if there's a multi-drive failure before recovery completes.
Also
> lower impact on processing during recovery.
Actually, as per a suggestion from, inter alia, Keith Simmons, we decided to
present 4 RAID 1 volumes instead, to allow some critical dbspace isolation
for performance.
> ALways set MIRROR to 1. You can use it someday to migrate to a newer disk
> structure or to perform an external backup to quickly clone a server.
Yup, very good advice. Informix Mirroring is your friend!
> Most real systems need much more log space than this. But you do not want
to
> start the engine with 40 logs unless you intend to leave the logical logs
in
> the rootdbs. Otherwise start with 6, create the new ones in a new
dbspace,
> and then drop the original 6.
As mentioned, I've actually created 20 x x100M logs, but that's not
refelected here.
> > BUFFERS 1024000 # Maximum number of shared buffers>
> Wow! Do you REALLY expect to have an active working set of nearly 2GB?
> reevaluate and make this about 35% above the active dataset size to allow
for
> overhead and index pages. You should be able to run for about 20 minutes
> without reading from disk on average (BTR == 3/hour) with great
performance.
> I can't guess this one for you.
As i won;t have an opportunity to alter this with the the benefit of
experience for months on end, I've set it at 25% of phys as a first cut ...
> CLEANERS >= LRUS! This should be 32, unless you up LRUS
Yeah, Keith and others pointed this out too.
Cheers!
Neil