Re: DSA TUNNING: SHARED MEMORY
Posted in 1998
Topics: Performance & Tuning, Storage & Space Management, Server Administration, Transactions, Locking & Isolation, Logging & Checkpoints, Networking & sqlhosts Configuration, Platform-Specific Issues
Take a look in /usr/informix/release.
With one CPU you will not see great performance. Your memory is also low.
MARTIN wrote:
> Javier Puente wrote:
> >
> > This is a multi-part message in MIME format.
> >
> > --------------36FE63984788
> > Content-Type: text/plain; charset=us-ascii
> > Content-Transfer-Encoding: 7bit
> >
> > I folks, i would like to tunning DSA Shared Memory to get a better
> > performance.
> > I am using DSA 7.22 with Solaris 2.5.1 in Sun Sparc server 5 with just
> > one processor.
> > The machine uses 128 Mb of RAM.
> > I have tried moving tha whole parameters of SHM :
> > STACKSIZE
> > SHMVIRTSIZE
> > PHYSBUFF
> > LOGBUFF
> > BUFFERS
> > SHMADD
> > SHMTOTAL> >
> > I also modified some values in /etc/system:
> > set shmsys:shminfo_shmmax=104857600
> > set semsys:seminfo_semmap=64
> > set semsys:seminfo_semmni=4096
> > set semsys:seminfo_semmns=4096
> > set semsys:seminfo_semmnu=4096
> > set semsys:seminfo_semume=64
> > set semsys:seminfo_semmsl=100
> > set shmsys:shminfo_shmmin=100
> > set shmsys:shminfo_shmmni=50
> > set shmsys:shminfo_shmseg=100
> >
> > altougt i am not sure in this last part. Anybody knows which are
> > the best kernel parameters for this???
> >
> > The special first probe is an INSERT of 10.000 records over a
> > transactional database. I get around 145 seconds, that's my best time.
> >
> > Any comment or help will really apreciated.
> >
> > I am sending my onstat -a for aditional help.
> >
> > THANKS IN ADVANCE
> >
> > Javier Puente
> >
> > --------------36FE63984788
> > Content-Type: text/plain; charset=us-ascii; name="onstat"
> > Content-Transfer-Encoding: 7bit
> > Content-Disposition: inline; filename="onstat"
> >
> > INFORMIX-OnLine Version 7.22.UC1 -- On-Line -- Up 00:01:05 -- 44960 Kbytes
> >
> > Message Log File: /develop/informix7.22/online.msg
> >
> > Mon Apr 6 22:31:30 1998
> >
> > 22:31:30 Event alarms enabled. ALARMPROG = '/develop/informix7.22/etc/log_full.sh'
> > 22:31:31 DR: DRAUTO is 0 (Off)
> > 22:31:34 INFORMIX-OnLine Initialized -- Shared Memory Initialized.
> > 22:31:34 Physical Recovery Started.
> > 22:31:34 Physical Recovery Complete: 0 Pages Restored.
> > 22:31:34 Logical Recovery Started.
> > 22:31:37 Logical Recovery Complete.> > 0 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks
> >
> > 22:31:37 Onconfig parameter SHMADD modified from 8192 to 16000.
> > 22:31:38 Dataskip is now OFF for all dbspaces
> > 22:31:38 On-Line Mode
> > 22:31:38 Checkpoint Completed: duration was 0 seconds.
> > 22:32:01 (13) connection rejected - no calls allowed for cdraccept
> > 22:32:01 listener-thread: err = -27002: No connections are allowed in OnLine quiescent mode.> >
> > Configuration File: /develop/informix7.22/etc/onconfig
> > ROOTNAME rootdbs # Root dbspace name
> > ROOTPATH /develop/informix7.22/DEV/chunk1> > # Path for device containing root dbspace
> > ROOTOFFSET 128 # Offset of root dbspace into device (Kbytes)
> > ROOTSIZE 80000 # Size of root dbspace (Kbytes)> > MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
> > MIRRORPATH # Path for device containing mirrored root
> > MIRROROFFSET 0 # Offset into mirrored device (Kbytes)> > PHYSDBS rootdbs # Location (dbspace) of physical log
> > PHYSFILE 10000 # Physical log file size (Kbytes)
> > LOGFILES 20 # Number of logical log files
> > LOGSIZE 5000 # Logical log size (Kbytes)> > MSGPATH /develop/informix7.22/online.msg # System message log file path
> > CONSOLE /dev/console # System console message path
> > ALARMPROGRAM /develop/informix7.22/etc/log_full.sh # Alarm program path
> > TAPEDEV /tmp/log # Tape device path
> > TAPEBLK 20 # Tape block size (Kbytes)
> > TAPESIZE 50000 # Maximum amount of data to put on tape (Kbytes)
> > LTAPEDEV /tmp/log # Log tape device path
> > LTAPEBLK 16 # Log tape block size (Kbytes)
> > LTAPESIZE 50000 # Max amount of data to put on log tape (Kbytes)> > STAGEBLOB # INFORMIX-OnLine/Optical staging area
> > SERVERNUM 0 # Unique id corresponding to a OnLine instance
> > DBSERVERNAME alamos1 # Name of default database server
> > DBSERVERALIASES alamos1_shm # List of alternate dbservernames
> > NETTYPE ipcshm,5,10,CPU # Configure poll thread(s) for nettype
> > NETTYPE tlitcp,5,10,NET # Configure poll thread(s) for nettype>
> You just have one procesor , so you must have :
> NETTYPE upchsm,1,50,CPU => just one CPU vp
> NETTYPE tlitcp,1,50,NET => here i'm not sure but i think the same
>
> > DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
> > RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)
> > MULTIPROCESSOR 0 # 0 for single-processor, 1 for multi-processor
> > NUMCPUVPS 1 # Number of user (cpu) vps
> > SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to one
> > NOAGE 0 # Process aging
> > AFF_SPROC 0 # Affinity start processor
> > AFF_NPROCS 0 # Affinity number of processors
> > LOCKS 15000 # Maximum number of locks>
> Too many locks , locks means resources , so ...
>
> > BUFFERS 16000 # Maximum number of shared buffers>
> I'll try 20000 at least
>
> > NUMAIOVPS # Number of IO vps
> > PHYSBUFF 64 # Physical log buffer size (Kbytes)
> > LOGBUFF 64 # Logical log buffer size (Kbytes)> > LOGSMAX 100 # Maximum number of logical log files
> > CLEANERS 1 # Number of buffer cleaner processes>
> one per disk where you have your d.b
>
> > SHMBASE 0xa000000 # Shared memory base address
> > SHMVIRTSIZE 8192 # initial virtual shared memory segment size
> > SHMADD 16000 # Size of new shared memory segments (Kbytes)>
> SHMVIRTSIZE , is the initial so make it bigger and the next (SHMADD)
> make smaller
>
> > SHMTOTAL 96000 # Total shared memory (Kbytes). 0=>unlimited
> > CKPTINTVL 300 # Check point interval (in sec)
> > LRUS 8 # Number of LRU queues
> > LRU_MAX_DIRTY 60 # LRU percent dirty begin cleaning limit
> > LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit>
> LRU_MAX-DIRTY 15
> LRU_MIN_DIRTY 5 => if you checkpoint is too much bigger someone
> will look for your head!!! . Put you LRU PARAMETER smaller
>
> > LTXHWM 50 # Long transaction high water mark percentage
> > LTXEHWM 60 # Long transaction high water mark (exclusive)