viernes, 29 de julio de 2016

BD Oracle Física VS BD Oracle Virtual VMWARE

Saludos,

Ahora que vivimos en el mundo de la virtualización, por que no virtualizar nuestra base de datos Oracle? Miedo, temor?  Aunque el boom de la tecnología es virtualizar, nuestras preocupación en base de datos de Oracle es que si no se degradará el rendimiento. En este blog vamos analizar un ambiente virtual con VMWARE.

VMWARE ofrece excelente características como el VMotion, Alta Disponibilidad y Tolerancia a Fallos, en resumen para los que no tenemos un Oracle RAC (pobre y humildemente tenemos una SE , SEO o SE2) o no tenemos un Apliance de Oracle, VMWARE es la mejor opción para implementar estrategia de continuidad del negocio. No trataremos temas de licencias, pero solo para su conocimiento Oracle no certifica a VMWARE como virtualizador para sus productos(Para mas información leer el link de Oracle  Doc ID 249212.1),  resumiéndoles no es que Oracle no da soporte sino es que si el problema (Tipico ORA-600) no esta dentro su base de soluciones Oracle solicitará recrear el ambiente en uno certificado para investigar y dar solución.

Bueno, volviendo a nuestros temores de virtualizar la base de datos, como saber si no tendremos problemas de rendimiento? No hay mejor forma que probando el producto, para ello necesitamos un servidor y la herramienta VMWARE. El laboratorio a realizar es probar la base de datos física y virtual en el mismo servidor.  Por ahí conseguí un servidor de préstamo y descargue la versión de prueba de VMWare y pedi ayuda a un amigo experto en VMWARE para realizar la instalación adecuada del producto.



Equipo
HP DL360
Procesador
e5-2637 – 3ghz (2 core)
Discos
4 discos SAS 3.5  10k  de 500
RAM
20G


Ahora como vamos a probar la BD? pues lo mejor es usar herramientas de strees, en mi caso use la Benchmark Factory for Database de Quest(Version de prueba 30 días)que sirve para motores de BD Oracle, Sql Server, MySql, Etc. La herramiente presta varios planes preconfigurados segun el tipo de BD OLTP u OLAP en donde seleccionamos lo planes  para carga de datos, transacciones y consultas, estos planes pueden ser modificados a nuestra conveniencia. Para nuestro laboratorio se establecio un plan de trabajo para BD OLTP con un inicio de 5 usuarios incrementando en 5 usuarios hasta llegar a los 80 usuarios recurrentes. Esto quiere decir que cada usuario conectado ejecutará el plan de trabajo (Inserts, Updates, Delete y Select)  de manera simultanea hasta llegar al nuemro de 80 usuarios. Con esta prueba podemos evaluar el tiempo promedio de respuesta de las transacciones y monitorear el host para ver el consumo de procesador, latencia de discos, uso de memoria entre otros.

Voy a mostrar los resultados de la prueba de strees realizada, en ella se motrará en el eje X la carga de usuarios y en el eje Y los valores del test.




Comparativo de prueba de stress database
Virtual en VMWARE
SO WS2012 STD
Ram 20GB
2Cores
BD Oracle 12.1.0.2
Memory 10G
Equipo Físico
SO WS2012 STD
20GB
2 Cores
BD Oracle 12.1.0.2
Memory 10G
Promedio de transacciones x segundo
Tiempo promedio de respuestas a grupo de transacciones
Bloques por Segundo
Bytes por Segundo



La herramiente Benchmark Factory arroja los resultados:
  • Promedio de transacciones x segundo. Numero promedio que se ejecutaron por cada grupo de usuarios.
  • Tiempo promedio de respuestas a grupo de transacciones. Segun el plan que se eligio tiene un cierto grupo de transacciones configuradas las cuales de promedia el tiempo de respuesta.
  • Bloques por Segundo. Cuanto bloques por segundo se procesaron.
  • Bytes por Segundo. Cuanto bytes por segundo se procesaron.
Si los comparamos entre el virtual y el fisico (El cual se uso el mismo equipo) las diferencias son considerables, el rendimiento es conforme aumenta la carga de usuario es mucho mejor en el fisico que en el virtual.

Ahora no con esto quiero satanizar a lo virtual, solo hay que evaluar el hardware con el que vamos a virtualizar para ver si cumple con las espectativas a nivel de rendimiento. Claro que en mi caso que trabajo en una mediana empresa por mas que quiera adquirir un mejor hardware el presupuesto no me lo permite, por ello no considero la virtualización de la BD.

Espero les sisrva como referencia de las previsiones del caso antes de tomar la decisión de virtualizar la base de datos con el fin tener el equipo idoneo que ofresca el mejor rendimiento.