|
IDS Forum
Re: Help parameters RA_PAGES,RA_THRESHOLD
Posted By: Jorge Garcia Date: Friday, 27 February 2004, at 10:10 p.m.
In Response To: Help parameters RA_PAGES,RA_THRESHOLD (ANGEL MARIA RUIZ GARZON)
Generalmente cuando informix va a leer en disco para encontrar un datos, identifica la pagina en la que se encuentra ese dato y lee la pagina completa, como en este caso se le indica que leea 4000 paginas entonces lee las 4000 paguinas siguientes que no necesariamente contienen los mismos datos, ademas de que los datos almacenados no tienen un orden en relacion a la paginacion, por lo que puedes estar leyendo datos innecesarios. Ademas recuerda que otros usuarios pueden estar leyendo otro tipo de informacion, y si no encuentra esa informacion en el shared memory entonces leera otras 4000 paginas. y esto por cada usuario... No quisiera parecer muy contradictorio pero me parace que es necesario que se conozca a fondo la arquitectura de informix y entender claramente la filosofia del funcionamiento del shared memory.
Hare algunos comentarios que consirdero podrian estar siendo mal configurados segun su: # HISTORIAL DEL CAMBIO DE PARAMETROS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> # LRU_MAX_DIRTY 2 3 porque se estaba generando el doble de escrituras LRU vs las de Chunk JGG.- Ambos valores son incorrectos ya que este parametro indica el porcentaje maximo de ocupacion de las colas que controlan el uso de los buffer utilizados, un valor que podria ayudar seria (75) JGG Tambien define el parametro LRU_MIN_DIRTY a un porcentaje de 20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > # SHMVIRTSIZE 131072 196608 Se incrementa para evitar segmentacion JGG.- El tamaño del segmento inicial se determina en relacion a las definiciones de los parametros del shared memory como son (buffers,locks,physbuff,logbuff,ra_threshold,ra_pages ..........), no es un valor que definas arbitrariamente El tamaño de la memoria utilizada por informix no es estatica y puede crecer mas alla de la que defines en el primer segmento, de acuerdo a como se vayan conectando los usuarios, por lo que no puedes evitar la segmentacion.
> # SHMADD 65536 32768 Se dismunuye porque no es necesrio un un valor tan grande. JGG.- Es correcto que no utilices un valor tan grande para aprovechar al maximo todos los segmentos de memoria disponible > # SHMTOTAL 361972 350252 Se disminuye por la misma razon JGG.-Si tienes mas memoria disponible te recomiendo que asignes mas, de lo contrario cuando infomrix necesite mas memoria y tu lo estes limitando, inicia un proceso de swap en algun area temporal del disco, lo que provocara una mayor carga para el disco. Si tu servidor (cpu) esta dedicado a informix, puedes poner un valor de ( 0 ) para que utilice toda la memoria disponible. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > # VPCLASS aio,num=8 5 Con kaio no se requiere tener tantas y mejora rendimiento JGG.- Que metodo de acceso a disco utilizas (Row device o cooked files) y cuantos discos tienes, pero si utilizas este parametro considero que le pongas 2 por cada disco > # VPCLASS aio,num=8 10 Como no mejoro rendimiento se aumenta de 8 a 10 JGG.- No con aumentar los valores a los parametros vas a obtener mejor rendimiento, es necesario que verifique si te van a servir ya que estas desperdiciando recursos del cpu (checa tu metodo de acceso a disco)
> # CLEANERS 4 8 y se aumentan para revisar comportamiento de ckpoint JGG.- Depende de cuantas colas definas, pero este valor no necesariamente es determinante para la generacion de check points > #=========================================================================== > # NETTYPE soctcp,4,60,NET 1,300,NET # Se recomienda un socket por cada CPU JGG.- Aqui estas definiendo 4 procesadores virtuales para atender los requerimientos de los usuarios que se conectan a traves de protocolo tcp (La recomendacion es correcta pero se refiere a cada CPU fisica, es decir, por cada procesador fisico, no por cada procesador virtual)
> # NETTYPE soctcp,1,300,NET 4,60,NET # No es peor recomendacion no validad JGG.- esto es correcto ya que tu servidor solo tiene un procesador fisico pero ademas necesitas definir otro NETTYPE para la coneccion a traves del shared memory, ya que las aplicaciones como el dbaccess lo utilizan NETTYPE ipcshm,1,300,NET 4,60,NET el valor (300) puedes reducirlos, solo calculo cuantos usuarios se van a conecctar a traves de shared memory ( no cuentes a los que se conectan a traves de soctcp) Ademas debes de definir este metodo en tu archivo (sqlhosts )
Espero te sirva
Te recomiedo que le des una leida al manual del adminstrador de informix
Escribio Jorge Garcia Quintana Roo Mexico
----- Original Message ----- From: "ANGEL MARIA...." <angruiz@coomevamail.com> To: <ids@iiug.org> Sent: Friday, February 27, 2004 2:16 PM Subject: Help parameters RA_PAGES,RA_THRESHOLD [2584]
> I have doubts with respect to these parametros, as I should calculate that so that the readings in secueciales in temporary it is mas fast. > > # Read Ahead Variables > #RA_PAGES 4 # Number of pages to attempt to read ahead > RA_PAGES 4000 # Number of pages to attempt to read ahead > #RA_THRESHOLD 2 # Number of pages left before next group > RA_THRESHOLD 2000 # Number of pages left before next group > > onconfig. > nfiguration File: /opt/informixids/etc/onconfig.omicron > #************************************************************************** > # > # INFORMIX SOFTWARE, INC. > # > # Title: onconfig.omicron > # Description: Informix Dynamic Server Configuration Parameters > # Elaborado por Angel Ruiz Mayo 1 de 2003 > # Actualizaciones > #************************************************************************** > > # Root Dbspace Configuration > > ROOTNAME rootdbs # Root dbspace name > ROOTPATH /dev/inf1/rootdbs # Path for device containing root dbspace > ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes) > ROOTSIZE 286720 # Size of root dbspace (Kbytes) > > # Disk Mirroring Configuration Parameters > > MIRROR 0 # Mirroring flag (Yes = 1, No = 0) > MIRRORPATH # Path for device containing mirrored root > MIRROROFFSET 0 # Offset into mirrored device (Kbytes) > > # Physical Log Configuration > > PHYSDBS phyv1 # Location (dbspace) of physical log > PHYSFILE 8014 # Physical log file size (Kbytes) > > # Logical Log Configuration > > LOGFILES 60 # Number of logical log files > LOGSIZE 4000 # Logical log size (Kbytes) > > # Diagnostics > > MSGPATH /opt/informixids/online.log # System message log file path > CONSOLE /dev/console # System console message path > ALARMPROGRAM /opt/informixids/etc/log_full.sh # Alarm program path > TBLSPACE_STATS 1 # Maintain tblspace statistics > > # System Archive Tape Device > > TAPEDEV /dev/rmt/0m # Tape device path > TAPEBLK 20 # Tape block size (Kbytes) > TAPESIZE 23101440 # Maximum amount of data to put on tape (Kbytes) > > # Log Archive Tape Device > > LTAPEDEV sigma:/dev/rmt/0m # Log tape device path > LTAPEBLK 20 # Log tape block size (Kbytes) > LTAPESIZE 1850000 # Max amount of data to put on log tape (Kbytes) > > # Optical > > STAGEBLOB # Informix Dynamic Server staging area > > # System Configuration > > SERVERNUM 0 # Unique id corresponding to a OnLine instance > DBSERVERNAME omicron # Name of default database server > DBSERVERALIASES omicron_sh # List of alternate dbservernames > #NETTYPE ipcshm,1,100,CPU # Configure poll thread(s) for nettype > #NETTYPE soctcp,1,300,NET # Configure poll thread(s) for nettype > NETTYPE soctcp,4,60,NET # Configure poll thread(s) for nettype > DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env. > RESIDENT 1 # Forced residency flag (Yes = 1, No = 0) > > MULTIPROCESSOR 0 # 0 for single-processor, 1 for multi-processor > #NUMCPUVPS 1 # Number of user (cpu) vps > VPCLASS cpu,num=1,noage > VPCLASS aio,num=10 > #VPCLASS aio,num=5 > #VPCLASS aio,num=8 > SINGLE_CPU_VP 1 # If non-zero, limit number of cpu vps to one > #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 > > # Shared Memory Parameters > > LOCKS 250000 # Maximum number of locks > #BUFFERS 30000 # Maximum number of shared buffers > BUFFERS 40000 # Maximum number of shared buffers > #BUFFERS 60000 # Maximum number of shared buffers > #NUMAIOVPS 2 # Number of IO vps > PHYSBUFF 500 # Physical log buffer size (Kbytes) > LOGBUFF 64 # Logical log buffer size (Kbytes) > CLEANERS 8 # Number of buffer cleaner processes > #CLEANERS 4 # Number of buffer cleaner processes > #CLEANERS 6 # Number of buffer cleaner processes > #CLEANERS 5 # Number of buffer cleaner processes > SHMBASE 0x0 # Shared memory base address > SHMVIRTSIZE 229376 # initial virtual shared memory segment size > #SHMADD 65536 # Size of new shared memory segments (Kbytes) > SHMADD 32768 # Size of new shared memory segments (Kbytes) > SHMTOTAL 383020 # Total shared memory (Kbytes). 0=>unlimited > #SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited > CKPTINTVL 240 # Check point interval (in sec) > DD_HASHMAX 5 # Hernando G > DD_HASHSIZE 107 # Hernando G > LRUS 20 # Number of LRU queues > #LRUS 60 # Number of LRU queues > LRU_MAX_DIRTY 3 # LRU percent dirty begin cleaning limit > #LRU_MAX_DIRTY 2 # LRU percent dirty begin cleaning limit > #LRU_MAX_DIRTY 4 # LRU percent dirty begin cleaning limit > #LRU_MAX_DIRTY 70 # LRU percent dirty begin cleaning limit > LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limit > #LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit > TXTIMEOUT 0x12c # Transaction timeout (in sec) > STACKSIZE 64 # Stack size (Kbytes) > > # System Page Size > # BUFFSIZE - OnLine no longer supports this configuration parameter. > # To determine the page size used by OnLine on your platform > # see the last line of output from the command, 'onstat -b'. > > > # Recovery Variables > # OFF_RECVRY_THREADS: > # Number of parallel worker threads during fast recovery or an offline restore. > # ON_RECVRY_THREADS: > # Number of parallel worker threads during an online restore. > > OFF_RECVRY_THREADS 10 # Default number of offline worker threads > ON_RECVRY_THREADS 1 # Default number of online worker threads > > # Data Replication Variables > DRINTERVAL 30 # DR max time between DR buffer flushes (in sec) > DRTIMEOUT 30 # DR network timeout (in sec) > DRLOSTFOUND /opt/informixids/etc/dr.lostfound # DR lost+found file path > > # CDR Variables > CDR_EVALTHREADS 1,2 # evaluator threads (per-cpu-vp,additional) > CDR_DSLOCKWAIT 5 # DS lockwait timeout (seconds) > CDR_QUEUEMEM 4096 # Maximum amount of memory for any CDR queue (Kbytes) > CDR_NIFCOMPRESS 0 # Link level compression (-1 never, 0 none, 9 max) > CDR_SERIAL 0,0 # Serial Column Sequence > CDR_DBSPACE # dbspace for syscdr database > CDR_QHDR_DBSPACE # CDR queue dbspace (default same as catalog) > CDR_QDATA_SBSPACE # CDR queue smart blob space > CDR_QDATA_SBFLAGS 0 # Log/no-log (default no log) > > > # Backup/Restore variables > BAR_ACT_LOG /opt/informixids/bar_act.log > # ON-Bar Log file - not in /tmp please > BAR_DEBUG_LOG /opt/informixids/bar_dbug.log > # ON-Bar Debug Log - not in /tmp please > BAR_MAX_BACKUP 0 > BAR_RETRY 1 > BAR_NB_XPORT_COUNT 10 > BAR_XFER_BUF_SIZE 31 > RESTARTABLE_RESTORE on > BAR_PROGRESS_FREQ 0 > > # Informix Storage Manager variables > ISM_DATA_POOL ISMData > ISM_LOG_POOL ISMLogs > > # Read Ahead Variables > #RA_PAGES 4 # Number of pages to attempt to read ahead > RA_PAGES 4000 # Number of pages to attempt to read ahead > #RA_THRESHOLD 2 # Number of pages left before next group > RA_THRESHOLD 2000 # Number of pages left before next group > > # DBSPACETEMP: > # OnLine equivalent of DBTEMP for SE. This is the list of dbspaces > # that the OnLine SQL Engine will use to create temp tables etc. > # If specified it must be a colon separated list of dbspaces that exist > # when the OnLine system is brought online. If not specified, or if > # all dbspaces specified are invalid, various ad hoc queries will create > # temporary files in /tmp instead. > > DBSPACETEMP tempdbs1,tempdbs2 # Default temp dbspaces > > # DUMP*: > # The following parameters control the type of diagnostics information which > # is preserved when an unanticipated error condition (assertion failure) occurs > # during OnLine operations. > # For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No. > > DUMPDIR /unload/registros # Preserve diagnostics in this directory > DUMPSHMEM 1 # Dump a copy of shared memory > DUMPGCORE 0 # Dump a core image using 'gcore' > DUMPCORE 0 # Dump a core image (Warning:this aborts OnLine) > DUMPCNT 1 # Number of shared memory or gcore dumps for > # a single user's session > > FILLFACTOR 96 # Fill factor for building indexes > > # method for OnLine to use when determining current time > USEOSTIME 0 # 0: use internal time(fast), 1: get time from OS(slow) > > # Parallel Database Queries (pdq) > MAX_PDQPRIORITY 50 # Maximum allowed pdqpriority > DS_MAX_QUERIES 2 # Maximum number of decision support queries > DS_TOTAL_MEMORY 2048 # Decision support memory (Kbytes) > DS_MAX_SCANS 120 # Maximum number of decision support scans > DS_HASHSIZE 107 # Hernando G > DS_POOLSIZE 10 # Hernando G > DATASKIP off # List of dbspaces to skip > > # OPTCOMPIND > # 0 => Nested loop joins will be preferred (where > # possible) over sortmerge joins and hash joins. > # 1 => If the transaction isolation mode is not > # "repeatable read", optimizer behaves as in (2) > # below. Otherwise it behaves as in (0) above. > # 2 => Use costs regardless of the transaction isolation > # mode. Nested loop joins are not necessarily > # preferred. Optimizer bases its decision purely > # on costs. > > OPTCOMPIND 1 # To hint the optimizer, vigente desde 6/Feb/2004 > #OPTCOMPIND 0 # To hint the optimizer > #OPTCOMPIND 2 # To hint the optimizer > > DIRECTIVES 1 # Optimizer DIRECTIVES ON (1/Default) or OFF (0) > > ONDBSPACEDOWN 2 # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT > OPCACHEMAX 0 # Maximum optical cache size (Kbytes) > > # HETERO_COMMIT (Gateway participation in distributed transactions) > # 1 => Heterogeneous Commit is enabled > # 0 (or any other value) => Heterogeneous Commit is disabled > HETERO_COMMIT 0 > > SBSPACENAME # Default smartblob space name - this is where blobs > # go if no sbspace is specified when the smartblob is > # created. It is also used by some datablades as > # the location to put their smartblobs. > SYSSBSPACENAME # Default smartblob space for use by the Informix > # Server. This is used primarily for Informix Server > # system statistics collection. > > BLOCKTIMEOUT 3600 # Default timeout for system block > SYSALARMPROGRAM /opt/informixids/etc/evidence.sh # System Alarm program path > > # Optimization goal: -1 = ALL_ROWS(Default), 0 = FIRST_ROWS > OPT_GOAL -1 > > ALLOW_NEWLINE 0 # embedded newlines(Yes = 1, No = 0 or anything but 1) > > DYNAMIC_LOGS 0 > LTXHWM 70 > LTXEHWM 80 > > > STMT_CACHE 2 # Hernando G > #STMT_CACHE_HITS 10 # Hernando G > #STMT_CACHE_SIZE 1024 # Hernando G > #STMT_CACHE_NOLIMIT 0 # Hernando G > #STMT_CACHE_NUMPOOL 4 # Hernando G > PC_HASHSIZE 30 # Tamano del cache de Stores procedures > PC_POOLSIZE 300 # Numero de Stores Procedures guardados en cache > > #=========================================================================== ================= > # HISTORIAL DEL CAMBIO DE PARAMETROS > #=========================================================================== ================= > # > # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + > # > # Parametro---- ----- Valor ---- Motivo--------------------------- > # Anterior Nuevo > # 28/Mayo/2003 > # SINGLE_CPU_VP 0 1 Porque solo tenemos una CPU fisica > # VPCLASS cpu,num=1,noage Nuevo parametro que reemplaza 5 viejos > # VPCLASS aio,num=6 Nuevo parametro que reemplaza 5 viejos > # NUMCPUVPS 1 Fue reemplazado por VPCLASS > # NOAGE 0 Fue reemplazado por VPCLASS > # AFF_SPROC 0 Fue reemplazado por VPCLASS > # AFF_NPROC 0 Fue reemplazado por VPCLASS > # NUMAIOVPS 2 Fue reemplazado por VPCLASS > # > # Comentarios : Mejoro notablemente el desempeno de las apliaciones y la comunicacion entre > # las bases de datos. > # > # Fecha : 29/Mayo/2003 - 12:30PM ******************************************* > # > # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + > # > # Parametro---- ----- Valor ---- Motivo--------------------------- > # Anterior Nuevo > # 29/Mayo/2003 > # LRU_MAX_DIRTY 2 3 porque se estaba generando el doble de > # escrituras LRU vs las de Chunk > # Comentarios : Balanceo las escrituras de LRU y Chunk. > # > # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + > # > # Parametro---- ----- Valor ---- Motivo--------------------------- > # Anterior Nuevo > # 29/Mayo/2003 > # SHMVIRTSIZE 131072 196608 Se incrementa para evitar segmentacion > # SHMADD 65536 32768 Se dismunuye porque no es necesrio un > # un valor tan grande. > # SHMTOTAL 361972 350252 Se disminuye por la misma razon. > # > # 05/Agosto/2003 > # SHMVIRTSIZE 196608 229376 Se incrementa por funcionamiento del kernel AIO > # SHMTOTAL 350252 383020 Estaba creando un segmento adicional de memoria > # virtual > # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + > # > # Parametro---- ----- Valor ---- Motivo--------------------------- > # Anterior Nuevo > # 6/Febrero/2004 > # OPTCOMPIND 0 1 Con este cambio se busca mejorar la estrategia > # de planeacion que utiliza IDS para la > # ejecucion de QUERYS.(el valor de 1 es el > # recomendado en el "Administraotr's guide" > # > # STMT_CACHE NA 2 Iinicia la cahce para los SQL con el fin de > # mejorar el desempeno. > # LRUS 60 20 Disminuir el numero de colas mejorar el rendimiento > # VPCLASS aio,num=8 5 Con kaio no se requiere tener tantas y mejora rendimiento > # > # 18 Febrero/2004 > # > # VPCLASS aio,num=8 10 Como no mejoro rendimiento se aumenta de 8 a 10 > # CLEANERS 4 8 y se aumentan para revisar comportamiento de ckpoint > #=========================================================================== ============== > # Febrero 25 de 2004 > # Anterior Nuevo > # > # NETTYPE soctcp,4,60,NET 1,300,NET # Se recomienda un socket por cada CPU > # > # Febrero 26 de 2004 > # > # NETTYPE soctcp,1,300,NET 4,60,NET # No es peor recomendacion no validad > # > #=========================================================================== ================= >
Messages In This Thread
IDS Forum is maintained by Administrator with WebBBS 5.12.
|
|