Informix - que locklevel es mejor ???

 
Vista:

que locklevel es mejor ???

Publicado por oscar mauricio benavidez (6 intervenciones) el 18/02/2008 17:38:10
Hola compañeros, quiero saber que locklevel para las tablas es mejor lo que pasa es que mi tablas estan en locklevel P, y he tenido problema de que algunos usuarios se las aborta algun prcoeso y al arevisar el error, es de bloqueo, no se si es bueno ese nivel de bloqueo o como lo puedo mejorar, ademas me gustaria si alguin pudiera darme algunos concejos para hacer tuning a mi bd y para que quede mejor configurada, gracias

Nota: tengo IDS 10
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:que locklevel es mejor ???

Publicado por René (64 intervenciones) el 19/02/2008 00:36:12
Ojo en informix tu puedes cambiar los modos de bloqueo ya sea a nivel pagina o a nivel registro, eso tu como dba lo puedes hacer.

El echo de que una aplicacion truene por bloqueos no entra forzozamente como una tarea del dba, mas bien del aplicativo, tu por tu parte revisa como tienes tus bloqueos, logicamente es mejor que lo tengas a nivel registro.

Por otra parte el programador tiene la facilidad de que incluso en el codigo puede poner un bloqueo a nivel base de datos, tabla, registro, etc.

Revisa con los programadores todo lo relacionado a esto, ya que como te indique anteriormente el echo de que truene por bloqueos no es forzozamente culpa o labor del dba.

Sobre el tunning de tu base de datos lo primero es que tomes estadisticas de tu instancia, que veas las tablas mas concurridas, tipos de accesos, etc, y en base a eso vayas haciendo cambios poco a poco en tu onconfig.

Para ir iniciando, lo mejor es que vayas sacando un "onstat -p" continuamente para ver como estan tus lecturas y escrituras y sobre eso vayas sacando un estadistico y haciendo tus cambios.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:que locklevel es mejor ???

Publicado por Luis Rivaldo (126 intervenciones) el 19/02/2008 13:52:59
Por default Informix IDS bloquea por pagina, y esto hará que el sistema sea lento cuando hayan múltiples usuarios utilizando los mismos datos pues muchos registros estarán en una misma pagina, para cambiar el nivel de bloqueo de páginas a filas, utilice el siguiente script de tipo sql para generar el script real:

database Reemplaza_Aqui_Por_El_Nombre_De_Tu_Base_De_Datos;
unload to CambiarBloqueo.sql
select "alter table ",tabname, " lock mode(row);" from systables
where tabid > 99 ;

Despues ingresas por dbaccess al script generado CambiarBloqueo.sql y lo revisas y ejecutas.

Utiliza onstat -k para supervisar los bloqueos del sistema OnLine.

Tipos de bloqueos que pueden provocar fallos de rendimiento:
Bloqueos de bases de datos exclusivos
Bloqueos de tablas exclusivos
Bloqueos a nivel de página
Cambiar bloqueo de nivel de página por nivel de fila mediante comando ALTER TABLE
Eliminar los bloqueos de bases de datos y de tablas exclusivos que afectan al rendimiento, cambiando la aplicación

Las columnas lockwaits y lockreqs de la salida onstat -p pueden utilizarse para identificar un posible atasco de bloqueo. El porcentaje de solicitudes de bloqueo que tienen que esperar debe ser sumamente pequeño Ejemplo:
(Lockwaits / lockreqs ) * 100 = debería ser < 1%

Si el porcentaje de esperas es elevado, deben investigarse las áreas siguientes:

• Bloqueos a nivel de página
• Tal vez demasiados bloqueos a nivel de página provocan las esperas. En este caso, debe considerarse la utilización del bloqueo a nivel de fila.
• Bloqueos a nivel de tabla
• Las aplicaciones que utilizan bloqueos a nivel de tabla deben revisarse por si existen otras alternativas de bloqueo.
• Niveles de aislamiento de aplicaciones
• Se Examinan las áreas en las que el nivel de aislamiento está configurado para Lectura repetible y Estabilidad del cursor. Debe determinarse si debe utilizarse con mayor frecuencia un nivel de aislamiento de Lectura sucia.

Ok.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:que locklevel es mejor ???

Publicado por oscar mauricio benavidez (6 intervenciones) el 19/02/2008 16:53:05
lo que pasa es que las personas que nos vendieron el software, me estan diciendo que el problema que tengo es del motor, yo hice un onstat -p y un onstat -k, la verdad el primero lo interprete gracias a Luis Rivaldo, pero el el -k no se como hacerlo si de pronto uds me pudoeran decir que es lo mejor para hacer, que mi motor quede bien y para ver si puedo sustentarle a desarrollador que el problema no es del motor, para no tener que reinstalar.

les agradezco su colaboración han sido muy amables.

[informix@comfamiliar ~]$ onstat -p

IBM Informix Dynamic Server Version 10.00.UC5 -- On-Line -- Up 12:16:48 -- 1318172 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
2805884 2830566 125641979 97.77 16390 54049 425271 96.72

isamtot open start read write rewrite delete commit rollbk
80746577 432011 532120 77069179 109453 7558 7096 13594 1

gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
0 0 0 0 0 0 0

ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
0 0 0 432.85 51.97 51 298

bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
8827 3 295842553 0 0 9 12186 24504

ixda-RA idx-RA da-RA RA-pgsused lchwaits
2063 18592 2728415 2749064 0

[informix@comfamiliar ~]$ onstat -k

IBM Informix Dynamic Server Version 10.00.UC5 -- On-Line -- Up 12:18:18 -- 1318172 Kbytes

Locks
address wtlist owner lklist type tblsnum rowid key#/bsiz
44299314 0 92071e28 0 HDR+S 100002 206 0
4429936c 0 920718fc 0 S 100002 206 0
442993c4 0 92072880 0 S 100002 206 0
4429941c 0 920732d8 0 S 100002 206 0
442994cc 0 92073d30 0 S 100002 206 0
44299524 0 9207425c 0 S 100002 206 0
4429957c 0 92074788 0 S 100002 206 0
442995d4 0 92074cb4 0 S 100002 206 0
4429962c 0 920751e0 0 S 100002 206 0
44299684 0 9207570c 0 S 100002 206 0
4429978c 0 92076164 0 S 100002 206 0
4429983c 0 92076690 0 S 100002 206 0
44299944 0 92076bbc 0 S 100002 206 0
442999f4 0 92075c38 0 S 100002 206 0
44299aa4 0 920770e8 0 S 100002 206 0
44299afc 0 92077b40 0 S 100002 206 0
44299b54 0 92077614 0 S 100002 206 0
44299cb4 0 9207806c 0 S 100002 206 0
18 active, 1000000 total, 131072 hash buckets, 0 lock table overflows
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar