Sie sind auf Seite 1von 26

Optimizando el Desempeo de la Base de Datos

OpenEdge

Gustavo Murillo
Gerente de Desarrollo

Agenda

 Lo Bsico
 Discos
 A tomar en cuenta

Algunas capacidades RDBMS OpenEdge











3

99.9% Uptime. 24h x 365d


10 000 usuarios simultneos sin baja rendimiento
10 000 transacciones simultneas sin baja de
rendimiento
9 quintillones de registros por tabla
32 Exabytes
Escabilidad hasta 32 procesadores comprobada
Operaciones OnLine sobre la base de datos
Caractersticas mejoradas de auto-tunning
Auditoria

RDBMS V9 vs RDBMS V10

Mejoras en versiones

Rendimiento General
Progress v8 -> OpenEdge 10

+ 43%

Progress v9 -> OpenEdge 10

+ 10 %

Areas de almacenamiento Type II

+ 24%

Rendimiento SQL
Progress v9 -> OpenEdge 10
Insert con Indice
Update con Indice
Select sin indice

+ 35%
+ 26%
+ 56%

throughput (tps)

Rendimiento Out of the Box

800
700
600
500
400
300
200
100
0

30

no tuning

simple tuning

Paso 1: Tamao del Buffer Pool

 Colocar B tan alto como sea posible para





alcanzar un porcentaje de buffer hits superior


a 95%.
Debe estarse vigilante a que no baje debajo
de 85%.
proserve mybd B 32000

Paso 2: Reintentos de spinlock (Enterprise)

 Si el sistema tiene ms de un procesador






debe utilizarse el spin


Objetivo: reducir la espera de recursos de
procesador.
Utiliza un sistema de spin, en lugar de uno de
semaforos y colas menos eficiente.
proserve mybd B 32000 spin 50000

Paso 3: Inicializar log writer de BI (Enterprise)

 Escribe los contenidos de nuevos datos de BI





a disco asincronicamente y en background.


Le da al servidor ms tiempo para hacer
trabajo til.
probiw mydb

Paso 4: Usar APW (Enterprise)

 Asynchronous page writer es un proceso






10

asincrnico y en background que escribe los


cambios recientes de la base de datos.
Asi no tiene que hacerlo el servidor, ni tiene
que ser hecho en cada fin de ciclo de
checkpoint.
proapw mydb
proapw mydb

Paso 5: Incrementar tamao del bloque BI

 Incrementarlo hace ms eficiente la escritura





11

del before image.


En sistemas Unix se puede usar 8K
proserve mybd B 32000 spin 50000
biblocksize 8

Paso 6: Incrementar tamao cluster BI

 Un mayor tamao de cluster de BI





12

incrementa la duracin de los ciclos de


checkpointing.
Lo cual permite ms tiempo para que los
bloques modificados de la base de datos
sean escritos a disco.
proutil mybd C truncate bi -bi 4096

Paso 7: Aadir buffers al BI

 Usados para mantener un log de registros de






13

nuevas transacciones antes de que sean


escritos al log de transacciones.
Tener mltiples buffers provee de ms
tiempo al writer de BI para hacer las
escrituras.
Se reduce la probabilidad de esperar para
completar un cambio a la base de datos.
proserve mybd B 32000 spin 50000
biblocksize 8 bi 4096 bibufs 25

Paso 8: Configuracin Inicial de la Base Datos

 Separar ndices y datos en diferentes reas


 No tener datos en el rea de Schema
 Repartir las reas en diferentes discos
 Utilizar ms extents de tamao fijo que


14

variable.
Evitar colocar el BI y el AI en el mismo disco
o filesystem, y evitar colocarlos en el mismo
disco o filesystem donde estn los datos.

throughput (tps)

Resultados en el rendimiento

800
700
600
500
400
300
200
100
0

581

30
no tuning

15

simple tuning

Efectos de tuning en -spin

680 679

spin setting

16

100
,000

40,0
00

120
2,00
0

133

436

800
700
600
500
400
300
200
100
0

Efectos de tuning en -B

500
450
400
350
300
250
200
150
100
50
0

260

32,000

348

332

128,000

256,000

295

64,000

-B setting

17

Configuracin de discos

 Usar ms de un disco para la base de datos


Varios discos pequeos pueden dar mejor
rendimiento que uno grande.

 Utilizar discos de alta velocidad, mnimo





15000 rpm.
Discos SCSI siguen dando mejor rendimiento
que SATA II.
Evitar RAID 5.
Se pierde un 45% rendimiento vs striping and
mirroring

18

Areas de datos Tipo II

 Mejor rendimiento I/O.


 Mejor utilizacin de espacio.
 Alta concurrencia.
 40% mejor rendimiento para aplicaciones de


19

uso intensivo de base de datos.


Las tablas temporales utilizan estas reas.

Otros aspectos a tomar en cuenta

 Incrementar tamao de mensaje Mm


 Usar brokers mltiples (4GL y SQL)
 Incrementar mximo de servidores (-Mn y




20

Mpb)
Decrementar clientes por servidor (-Ma)
Archivos temporales en discos locales (-T)
Un solo ASSIGN en lugar de varios.

Sistema de Archivos en Linux

400
350

throughput (tps)

300

348
292

313
267

250
200
150
100
50
0
ext3

JFS

XFS

ReiserFS

ReiserFS presenta resultados muy errticos no usar!


21

Otros sistemas de archivos recomendados

22

Sistema Operativo

File System

Solaris

VxFS o UFS

AIX

JFS o JFS2

HP-UX

NO HFS

Windoze

NTFS

Linux

ext3, XFS, JFS

Ideas para Windows

 Eliminar spyware y similares


 Quitar servicios innecesarios
 Screen Saver negro
 Eliminar Office (al menos el indexador)
 Usar NTFS (Nunca FAT-32 o FAT-16)
 Incrementar tamao cluster
 Quitar Nombres cortos archivo, compartir
archivos, Virus Scan, Decoraciones GUI

23

Ideas SQL

 Revisar ndices, tener los necesarios, ni ms,





ni menos.
Ejecutar Update Statistics
Utilizar mejor APIs de ODBC y JDBC
Revisar DataDirect.com/developer para
documentos tcnicos.

 Actualizar a 10.1B.

24

Aumentar la seguridad Implemente Cluster

25

Obtener mejor rendimiento es sencillo

Preguntas?
Muchas Gracias
gmurillo@reinsa.co.cr
www.progress.com
www.psdn.com

26

Das könnte Ihnen auch gefallen