Hogar Bases de datos ¿La aplicación se ejecuta lentamente? hora de ser preciso

¿La aplicación se ejecuta lentamente? hora de ser preciso

Anonim

Por el personal de Techopedia, 31 de agosto de 2016

Para llevar: la presentadora Rebecca Jozwiak analiza los problemas de eficiencia y resolución de problemas de la base de datos con los analistas Eric Kavanagh y Dez Blanchfield, así como con Bill Ellis de IDERA.

Actualmente no has iniciado sesión. Inicia sesión o regístrate para ver el video.

Rebecca Jozwiak: Damas y caballeros, hola y bienvenidos a Hot Technologies de 2016. El tema de hoy, "¿La aplicación se ejecuta lentamente? Es hora de ser preciso". ¿Y no todos sabemos muy bien los problemas que pueden ocurrir cuando las cosas se ejecutan lentamente? Esta es Rebecca Jozwiak, estoy reemplazando a Eric, que está haciendo un nuevo papel aquí, hoy. Sí, este año es caluroso y, ya sabes, cuando se trata de tecnología, como dije, lo único que realmente no quieres es un funcionamiento lento, cualquier parte de tu sistema. Y solo para usar un ejemplo de consumidor, quiero decir que si tienes un restaurante, no importa cuán buena sea la comida, si el servicio es lento, probablemente no terminarás volviendo. Ahora, es fácil, más o menos, en un restaurante descubrir por qué algo funciona lentamente. Tal vez la cocina tiene poco personal o hubo un mal funcionamiento con algunos equipos, o tal vez el personal es un poco vago, y es un poco fácil de identificar y solucionarlo.

Pero cuando piensas en un centro de datos, es una historia completamente diferente. Podría ser un problema de red, una mala consulta que está obstruyendo las cosas, el rendimiento de la aplicación o un cable defectuoso, incluso pueden causar algunos problemas. Y la solución de problemas con ese tipo de complejidad puede ser, en el mejor de los casos, difícil. De eso es de lo que vamos a hablar hoy. Y tenemos, como dije, Eric Kavanagh trabajando como analista hoy. Tenemos a Dez Blanchfield, nuestro científico de datos, y tenemos a Bill Ellis de IDERA, quien hablará sobre la solución de su compañía que ayuda con la gestión del rendimiento de las aplicaciones. Y con eso, voy a pasarle el balón a Eric. Eric, el piso es tuyo.

Eric Kavanagh: Muy bien, suena bien, amigos. Y esa fue una gran analogía, en realidad, porque habló de las dificultades o la facilidad con la que se puede lograr la solución de problemas y se pone manos a la obra. Los problemas de rendimiento siempre resultan de algún tipo de problema en la red. Quiero decir, podría ser tan simple como el hardware antiguo, por ejemplo, pero la conclusión es que cualquier situación como esa requiere solución de problemas. De eso es de lo que voy a hablar hoy. Y sigamos adelante y saltemos en las diapositivas aquí.

Aquí vienen los problemas. Solución de problemas: es divertido para las personas que les gusta, eso es lo genial. Si encuentra a alguien a quien le gusta solucionar problemas, agárrese de esa persona, consígale algunas herramientas para hacer el trabajo, porque cosas realmente buenas si puede encontrar a alguien que pueda llegar al fondo de algo y hacer las cosas. Pero la conclusión es que la solución de problemas es problemática y siempre lo ha sido y siempre lo será, y si comienza a hablar sobre la solución de problemas, lo que realmente está tratando es el análisis de la causa raíz. ¿Qué está causando el problema?

Bueno, si simplemente te sientas y piensas por un segundo incluso sobre los días de mainframe, podrían surgir todo tipo de problemas. Y en aquel entonces tenía que tener personas que realmente supieran sus cosas porque ni siquiera había buenas herramientas para solucionar problemas, por lo que realmente tenía que conocer su símbolo del sistema, y ​​hablaremos de eso en un segundo. Y en realidad olvidé poner una de mis diapositivas favoritas, la buscaré mientras esté en el programa hoy, tal vez durante la presentación de Dez. Pero quería mostrar, para cualquiera que no lo haya visto, uno de los programas de televisión británicos más divertidos que se haya llamado "The IT Crowd". Y en términos de resolución de problemas, el hombre irlandés, que es una de las dos personas de TI en toda la compañía siempre dice lo mismo cada vez que comienza una llamada, "¿Has intentado apagarla y volverla a encender?" Entonces, intenta apagarla y volverla a encender. Te sorprendería con qué frecuencia esa cosa simple puede resolver algunos problemas.

Aquellos de ustedes que han solucionado problemas en casa tal vez con sus padres o amigos, probablemente no con sus hijos porque tienden a saber qué hacer, lo apagan y lo vuelven a encender. Sin embargo, la solución de problemas no es fácil, nunca será fácil, pero hoy hablaremos sobre algunas de las cosas que puede hacer para que sea más fácil. Entonces, el símbolo del sistema: sí, de hecho, soy lo suficientemente mayor como para recordar los primeros días de la informática cuando todo lo que tenía era el símbolo del sistema para hacer DIR, Enter. Eso es lo que vería, el directorio de archivos y sentiría positivo que realmente haya hecho algún comando, ¿verdad? Dez, por supuesto, nuestro científico de datos, sabe cómo usar el símbolo del sistema. Y si puede usar el símbolo del sistema, eso es excelente porque la mayoría de nosotros, simples mortales, usamos algún tipo de GUI, una interfaz gráfica de usuario, pero siempre hay algo, siempre hay algo de desconexión entre la GUI y la línea de comando debajo. Y solo para darle un ejemplo aleatorio, si desea saber cuánto código de algunos de los programas básicos hay en los documentos en estos días, vaya a la última versión de Microsoft Word, escriba "hola mundo" y luego "guardar como HTML ". Y luego abra el documento resultante en un editor de texto, y probablemente verá páginas y páginas de etiquetas. Eso se llama bloat de código, y bloat de código no es realmente bueno para la resolución de problemas, solo para ser contundente.

Por supuesto, el cliente-servidor apareció y eso fue genial. Y en cierto modo estamos retrocediendo en esa dirección, pero solo pensemos en la complejidad que vino con la situación, ahora dónde está el problema, ¿está en el cliente, está en el servidor, es la red? ¿Dónde está? Estos sitios que solo piensan en virus, y cuando un virus puede ingresar a uno en una red, ¿qué puede pasar? Puede ir a cualquier parte. Las violaciones de datos son una locura en estos días. Causan problemas de rendimiento. Hemos tenido hackers rusos que podemos identificar por la dirección IP. Estamos bastante seguros de que son rusos, o están muy unidos, o son muy inteligentes ucranianos o polacos o incluso estadounidenses, usando poderes. Pero a lo largo de los años hemos tenido piratas informáticos que ingresaron a nuestro antiguo sitio, Inside Analysis, y causaron todo tipo de problemas. Las cosas simplemente dejan de funcionar, no puedes hacer las cosas. Las cosas que solían funcionar no funcionan. ¿Cómo lo sabes? ¿Cómo sabes de qué se trata? Como otro ejemplo aquí, es un entorno muy complejo, es muy difícil entrar en la maleza y realmente entender cómo están sucediendo las cosas y cómo funcionan para nosotros, especialmente si obtienes una gran cantidad de complementos. Las cosas pueden volverse locas bastante rápido. Me estoy adelantando a mí mismo.

Lancé aquí, siempre tenga cuidado con la actualización. Las actualizaciones siempre me asustan a la luz del día. Ciertamente sistemas operativos. Recuerdo los días en que Microsoft sugirió que sí, podría actualizar su sistema operativo de esta versión a esa versión. Bueno, lo intenté algunas veces, y eso nunca funcionó. Solo recuerde, cuanto más grande, más complejo es un entorno, más difícil de manejar será la situación. Y luego está la virtualización. Piense en lo que VMware le hizo a TI. Revolucionó la TI, pero también creó esta capa de abstracciones. Si tienes una abstracción de capa en ese nivel fundamental, es un juego de pelota completamente nuevo, es una bola de cera completamente nueva y realmente tienes que volver a evaluar lo que estás haciendo, y todas las herramientas antiguas tuvieron que cambiar. Y ahora, por supuesto, es la nube, ¿verdad? Para el cliente, la nube es excelente, porque es muy simple, la interfaz de usuario es bastante sencilla, pero, por supuesto, no tiene mucho control sobre la nube. Pero para las personas que están detrás de escena, hay muchas cosas que necesitan saber y entender en estos días. El medio ambiente se ha vuelto mucho, mucho más complejo. Y ciertamente con el comercio electrónico, y piensas en todo el dinero que intercambia manos en estos días. Es por eso que no me encontrarás a favor de una sociedad sin efectivo en el corto plazo. La conclusión aquí es que la situación se está volviendo más problemática cada día.

Y mantener un rendimiento óptimo siempre implicará algún elemento de resolución de problemas. No me importa lo que nadie te diga, no hay una herramienta perfecta, no hay una bala de plata y nunca la habrá porque, en otra perspectiva interesante aquí, todavía estamos aprendiendo a hablar de silicio. Todavía estamos aprendiendo a entender cómo funciona incluso la creación de redes en el nivel esencial. Si nos fijamos en el software de gestión de sistemas, se está volviendo bastante bueno en estos días. Pero aún así, estás mirando líneas que suben y bajan y estás mirando representaciones de la realidad, se necesitará una persona que sepa lo que está sucediendo para juntar las pistas que puedes mirar con herramientas óptimas para poder entiendo lo que funciona y lo que no, y es una gran cantidad de prueba y error, solo para ser franco. Con eso, se lo entregaré a Dez Blanchfield y luego escucharemos a Bill Ellis de IDERA, quien nos avergonzará con su conocimiento. Con eso, Dez, quítatelo.

Dez Blanchfield: Hola, gracias Eric. Gracias. Conducido muy bien en mi pequeño segue. Mi título, "Performance Art", creo que es extremadamente adecuado en el contexto de lo que estamos hablando hoy, porque de muchas maneras cuando pensamos en el performance, pensamos en el baile, la música y otras cosas creativas. Y, francamente, la mayoría de las veces, si estamos resolviendo problemas y en entornos de TI y sistemas comerciales de gran escala, hay un elemento de arte y, a menudo, arte negro, porque la situación en mi experiencia en más de 25 años es que el Las pilas de aplicaciones modernas están aumentando rápidamente la complejidad a un ritmo que nunca antes habíamos visto. Y francamente estamos luchando por mantener el ritmo y hay organizaciones como Uber, por ejemplo, y lo que sea, y el equipo de desarrollo de Pokémon Go, quiero decir que están experimentando un crecimiento y complejidad y un aumento de la complejidad a tasas que son simplemente astronómicas. Ni siquiera hay libros escritos al respecto porque no habíamos concebido ese nivel de crecimiento. Mi opinión es que la definición central de una pila de aplicaciones se ha transformado exponencialmente y voy a explicar por qué creo que ese es el caso, y luego llevaré al desafío en cuestión, que mis buenos amigos en IDERA parecen tener una solución para resolver .

Muy brevemente, todos sabemos esto, pero solo para recapitularlos, ya sabes, en los primeros días tuvimos lo que yo llamo, arquitectura de la aplicación, versión 1.0. Era una computadora servidor, en este caso el mainframe con un montón de terminales conectados, era relativamente fácil diagnosticar problemas si no estaba viendo cosas en la terminal; podía rastrear el cable entre la terminal y luego la computadora servidor, y era un cable cero o un conector o algún problema si no estaba relacionado con el terminal, y estás viendo cosas en la pantalla, fue bastante fácil saber que las cosas que estaban causando los problemas estaban en el máquina en sí. Y podría diagnosticar lentamente en qué parte de la pila estaba el hardware hasta la capa de software y la interfaz de usuario. En lo que llamo la versión 1.1, lo hicimos un poco más complejo. Colocamos dispositivos en el medio para poder colocar más terminales en su lugar. Y eran una especie de dispositivo de comunicaciones y, a menudo, eran muxes o multiplexores y pasaban por una línea dedicada o una línea de acceso telefónico, por lo que tenía una unidad central en una ubicación distante, podría ser interestatal o internacional, y algún dispositivo conectado a través de un enlace SMA o algún tipo de conectividad WAN y esos terminales todavía funcionan de la misma manera. Pero tenía un poco más de complejidad porque tenía que averiguar si el problema era entre los terminales y el dispositivo de comunicaciones o el dispositivo de comunicaciones y el mainframe. Pero la pila se mantuvo relativamente similar en el mainframe.

Versión 1.2, un poco más compleja nuevamente porque ahora agregamos más dispositivos, agregamos impresoras y otras cosas, y agrupamos estas cosas, y pienso en un procesador front-end que manejaría todos los problemas de los dispositivos localmente, impresoras y terminales y así sucesivamente con la unidad central ese extremo distante. Un poco más de complejidad. Pero nuevamente, el tema constante del mainframe eran las aplicaciones que se ejecutaban localmente, por lo que la resolución de problemas se mantuvo bastante similar dentro de la pila de aplicaciones. Y luego tuvimos personas con habilidades que resolvieron problemas con terminales e impresoras y controladores de clúster. Pero luego complicamos las cosas y construimos redes y, de repente, el mismo tipo de arquitectura introduce una capa de red. De repente tuvimos un conmutador de red, y las estaciones de trabajo eran mucho más complejas. Y esta versión de arquitectura a menudo teníamos aplicaciones gráficas de interfaz de usuario en la estación de trabajo. No solo teníamos un servidor que ejecutaba la pila de aplicaciones, sino que también teníamos otra pila de aplicaciones que se ejecutaban localmente y, por supuesto, el mismo modelo básico de dispositivos que se conectaban a un servidor. Luego dimos un salto cuántico al modelo más reciente de lo que llamo 2.1, que es donde tomamos esa pila de aplicaciones y la hicimos mucho más compleja, mucho más difícil de diagnosticar. Y presentamos muchos más dispositivos en el front-end, en navegadores web y PC y dispositivos móviles, etc. Y aquí la pila de aplicaciones comenzó a sumergirse un poco más en la integración como el sistema operativo y el hipervisor.

En esta imagen, en el lado derecho, tenemos toda la pila, incluida la infraestructura de red, los servidores de almacenamiento, las máquinas virtuales, el sistema operativo y luego los tres niveles tradicionales de aplicaciones de bases de datos de hardware, etc., en el frente derecho. El diagnóstico de problemas de aplicación y rendimiento en este modelo se volvió mucho más difícil. Hay muchas más partes móviles y tratar de profundizar en esa pila fue, ya sabes, se convirtió en una pesadilla y tuvo que involucrar conjuntos de habilidades y organización adicionales para lidiar con eso. Ya no era solo su equipo de aplicaciones, de repente ahora tenía personal de infraestructura, tenía especialistas en bases de datos, simplemente trabajaba en bases de datos y nada más, a diferencia de un programador de sistemas que conocía las bases de datos. Ahora tenemos un escenario en el que los departamentos de TI tienen que lidiar con una complejidad significativamente más amplia de "como servicio" y esto es donde el mundo explotó y nuestros desafíos de resolución de problemas se convirtieron, pasando de ser una pesadilla a algo casi intolerable en algunas formas.

Y esto surgió como una escala resoluble, estamos tratando de ofrecer servicios. Versión 3 de lo que considero la pila de aplicaciones: ha introducido esto como un modelo de servicio, donde el modelo tradicional en el lado izquierdo, la pila de TI empresarial, donde todo tuvo que ser administrado a nuestro lado como consumidor y proveedor de servicios - desde la base de datos de seguridad de aplicaciones, sistemas operativos, almacenamiento de servicios de virtualización, centros de datos en red - tuvimos que administrarlo todo, pero teníamos acceso a todo y así podríamos escalar nuestra capacidad y habilidades técnicas y podríamos profundizar a través de esa pila y podríamos encontrar cosas. Pero a medida que surgieron el servicio de infraestructura y el servicio de plataforma y el modelo de servicio de software, de repente nuestro acceso a la infraestructura de fondo, nuestro acceso a las plataformas y la herramienta desde la que prestamos servicios, nos fueron quitados. Cuando comenzamos a consumir el servicio de infraestructura, solo teníamos las cuatro piezas principales del sistema operativo, la base de datos, la pila de aplicaciones ambientales de seguridad y superiores, disponibles para nosotros. Todo debajo de eso era magia negra. Y se vuelve aún más interesante cuando pasa al servicio de plataforma porque también solo está administrando la pila de aplicaciones.

Cuando accedes al software como servicio, y un modelo tradicional de eso es el correo web o la banca por Internet, todo lo que tienes es acceder a un navegador web, por lo que tratar de diagnosticar lo que hay detrás es definitivamente intolerable. Y he dividido esto en zonas horarias, en franjas horarias o áreas de tiempo si lo desea o generaciones, de izquierda a derecha, hemos pasado de una especie de pre-2000 y la pila tradicional a la que teníamos acceso a todo el entorno y podríamos profundizar en eso. Pero con el tiempo se volvió más y más complejo. Desde principios de la década de 2000 hasta mediados de 2000, hasta fines de 2000 hasta el día de hoy, donde pasamos del servicio de infraestructura, servicio de plataforma, servicio de software, hasta ahora nos estamos refiriendo esencialmente a un servicio comercial. Y la complejidad ha aumentado dramáticamente. Hay muchas más partes móviles. Pero la disponibilidad de habilidades se vuelve cada vez más difícil y cada vez más difícil de aprovechar. Encontrar personas con los conjuntos de habilidades correctos con el acceso correcto a las herramientas adecuadas para entrar y sumergirse en esta pila y descubrir dónde hay algo que funciona lentamente. ¿Es mi computadora portátil o mi computadora de escritorio, es mi teléfono o mi tableta, es mi conectividad a través de 3 o 4G, o mi enlace dedicado con ADSL, o ISDN, lo que sea? O incluso dial-up, aunque ese es cada vez menos el caso en estos días. ¿Es el servidor web final, es algo dentro del servidor web? ¿Es el servidor de aplicaciones? ¿Es algo relacionado con la memoria y el disco de la CPU y el rendimiento de la red dentro del servidor de aplicaciones? ¿Se está ejecutando la base de datos allí?

Y se pueden imaginar, dibujan esta imagen muy rápidamente de la complejidad que comienza a expandirse como una imagen de big bang, de esta burbuja cada vez mayor en la que estamos tratando de rodearnos y tener las habilidades para sumergirnos y El conocimiento y los medios para diseccionar y separar. Y ahora estamos en la era en que, ya sabes, los seres humanos no pueden hacer frente a la escala física, incluso si tienes la capacidad de separar el entorno de la base de datos y separar esa base de datos y sumergirte en el detalle dentro de esa base de datos. El número de bases de datos que debe administrar ahora está creciendo rápidamente. Ahora todo funciona con una base de datos. Muy pocas aplicaciones en estos días no funcionan con una base de datos. Y los tipos de bases de datos también están creciendo rápidamente. Ya no son solo las bases de datos SQL tradicionales, a veces es SQL, a veces no es SQL, a veces es una base de datos gráfica, a veces es una base de datos de documentos. Y existen todos estos diferentes tipos de funciones que tienen estos diferentes tipos de bases de datos y, como resultado, cada una de ellas tiene diferentes desafíos de rendimiento y diferentes criterios de rendimiento. Las bases de datos de registro y las bases de datos de documentos funcionan de manera muy, muy diferente y realizan una función diferente a una base de datos SQL tradicional que cumple con ACID y ANSI 92. Y los tipos de cosas que almacenamos allí.

Estamos en un punto, en mi mente, donde, y creo que Eric aludió a esto, que los seres humanos están luchando para mantenerse al día con la complejidad de lo que estamos construyendo y la velocidad a la que estamos construyendo, y nosotros Ahora estamos en el punto en que la única forma de administrar esta infraestructura y la única manera de monitorear y profundizar en los problemas que enfrentamos es con las herramientas y los tipos correctos de herramientas. Y luego, invariablemente, la generación correcta de herramientas. Herramientas que realmente entienden la infraestructura de back-end. Ya no está bien solo lanzar un monitor SQL o una herramienta de consulta SQL en algo y comenzar a separar una consulta y ver qué hace que funcione. En realidad, necesitamos una herramienta que comprenda la formación de consultas y la forma adecuada de formar consultas, y las formas adecuadas de que las consultas se comuniquen con la infraestructura en el back-end y cómo se están desempeñando mientras lo hacen. Y para ver el momento de esas interacciones y el orden en que tienen lugar.

Y ese es un desafío mucho más complejo y eso me lleva a mi pregunta de resumen, y es que a medida que aumenta la complejidad de las pilas de aplicaciones que estamos desarrollando, las herramientas de rendimiento y las herramientas que utilizamos para administrarlas, necesariamente necesitan para ser cada vez más inteligente y mucho más capaz de mirar más cosas. Pero también es mucho más inteligente en cómo profundizan en lo que se está ejecutando en el back-end y lo que pueden descubrir al respecto y potencialmente incluso algún tipo de análisis que se realiza sobre eso para comprender que las interacciones y el rendimiento se están entregando, y por qué está funcionando más lento o más rápido.

Y luego con eso voy a pasar a nuestro querido amigo de IDERA, Bill Ellis, y veré qué tiene que decir hoy sobre cómo resuelven este problema. Bill, a ti.

Bill Ellis: De acuerdo. Mi nombre es Bill Ellis y muchas gracias. Vamos a hablar de que mi aplicación se está ejecutando lentamente, es hora de obtener Precise. Veamos qué puede hacer Precise, un producto IDERA, y cómo puede ayudarlo. Muchas veces solo descubres que ha habido un problema de rendimiento porque un usuario final te ha llamado, y ese es realmente un gran problema en sí mismo. De todos en TI, nadie lo supo hasta que sonó el teléfono. Ahora, el siguiente gran problema es cómo ayudamos a este individuo en particular, y realmente no es un problema trivial. Hay una conclusión de esto. Eso está por encima y más allá de esta diapositiva, está por encima y más allá de los demás. Y quiero que veas si puedes obtener lo que es. Pero, como hemos mencionado, una aplicación requiere, depende de muchas tecnologías diferentes, la pila de aplicaciones es alta y está creciendo. Y muchas personas acceden a una aplicación a través de un navegador, y sorprendentemente hay más y más procesamiento que está ocurriendo en el navegador con secuencias de comandos, etc., y luego, por supuesto, tiene la red, el servidor web, el código de lógica de negocios y la base de datos. Lo que quiero que tenga en cuenta es que cada transacción comercial significativa interactúa con la base de datos, ya sea que se trate de informes de tarjetas de tiempo, búsqueda de inventario, una orden de compra, la base de datos se está actualizando. Y así, la base de datos se convierte realmente en la base del rendimiento. Y, por supuesto, la base de datos puede encenderse o depende del almacenamiento posterior. Cada una de estas tecnologías está estrechamente acoplada y puede ver lo que está sucediendo. Tienes que saber lo que está pasando para poder medir es fundamental.

Ahora, una cosa que encontramos es que muchos de nuestros clientes tienen una herramienta y tienen una herramienta para cada tecnología, pero lo que no tienen es el contexto. Y el contexto es básicamente la capacidad de conectar los puntos entre cada nivel en la pila de aplicaciones, y esto es en realidad relativamente simple. Solíamos tener una limitación de doce niveles, pero básicamente la cambiamos, tenemos niveles ilimitados y admitimos entornos mixtos, por lo que básicamente podemos volvernos extremadamente complicados con una solución precisa.

Ahora, en un nivel alto, así es como resolvemos el problema y se centra en la transacción, la transacción del usuario final desde el clic al disco, nos dice cuáles están funcionando lentamente, cuáles están consumiendo recursos, pero la clave es esta - le permitimos recoger e identificar su ubicación de usuario y no solo el tiempo completo de la transacción, sino cuánto tiempo se gasta en cada paso individual. El tiempo es la moneda del rendimiento y también se muestra dónde se consumen los recursos. No sabemos de antemano dónde va a estar el problema, por lo que necesitamos tener las métricas y los análisis adecuados en cada uno de los niveles para poder diagnosticar cuál es el problema, dónde podría estar el problema.

Ahora, en la presentación de hoy me voy a centrar en esta área, quiero que tenga la seguridad de que básicamente proporcionamos el mismo nivel de visibilidad en cada nivel en la pila de aplicaciones y lo crucial es que esto nos dirá quién, qué, dónde y luego esta parte, esto nos va a decir por qué. Y es realmente la razón por la que eso es absolutamente crítico para resolver problemas, no solo conocerlos. Ahora, la otra cosa que salió muy claramente en la presentación fue que es imposible hacer esto. Necesitas automatización. Y la automatización significa que tiene alertas, tiene algo que le dice, con suerte ante la comunidad de usuarios finales, que tiene una tendencia continua, una desviación acumulada de la alerta de tendencia. Y luego también ofrecemos una línea en la arena, en realidad estás incumpliendo el SLA. Ahora ofrece mucha información diferente: no todo el mundo necesita consumir el buffet, algunas personas solo quieren un refrigerio ligero, esto es ensalada, y con eso ofrecemos un portal en el que podemos cargar información, solo necesita un usuario en particular o las necesidades de información de una comunidad en particular sobre el desempeño. La aplicación se ejecuta lentamente, es hora de obtener precisión. Realmente nos vamos a centrar en cuatro cosas. Uno es la ubicación, ingresando al usuario final. Una vez más, ese contexto que conecta los puntos, y la tercera parte de la investigación muestra que casi el 90 por ciento de los problemas de aplicaciones están en la base de datos y, por lo tanto, es una especie de parodia que la mayoría de las soluciones de rendimiento le indiquen una declaración SQL. Pero no le dicen por qué esa declaración SQL se ejecuta lentamente.

Entonces, el por qué es siempre lo crucial y Precise es excelente para mostrar por qué, para cada nivel y en particular la base de datos, y solo para compartir un poco sobre nuestra matriz de soporte con usted, que admitimos SQL Server, Sybase, DB2 y / o a granel. La apariencia de la solución es muy similar, por lo que si está buscando múltiples aplicaciones, pero arquitecturas ligeramente diferentes. La información que comparto aquí tiene la apariencia, el enfoque, es el mismo sin importar cuáles sean las tecnologías subyacentes en uso. Precise está habilitado para la web. Entramos, autenticamos Precise, y con eso entramos y lo primero que queremos ver es el rendimiento por ubicación. Y así puedes ver aquí las diferentes ubicaciones donde las personas realmente acceden a sus ejecuciones. Puede ver si alguien abandonó una página antes de que se procese por completo, o si hay errores.

Ahora, una cosa con estas aplicaciones es que la red o la distancia desde el servidor de aplicaciones hace diferente. Es muy fácil ver aquí que hay algún nivel de red. Puedo ver cuándo las personas se ocuparon, y luego otra cosa interesante, hablamos sobre cómo hay procesamiento dentro del navegador, en realidad notan que algunos de los diferentes tipos de navegador proporcionan un mejor entorno para un procesamiento rápido. Y así, sabiendo si las personas están accediendo por Chrome o IE, o lo que sea que sea, en realidad puedes encontrar muy a menudo que una inversión de tipo de navegador es realmente superior a otra. Ahora, a veces tiene una orientación pública, no controla el navegador, a veces las aplicaciones tienen una orientación interna donde puede recomendar a las personas un tipo de navegador para su comunidad de usuarios finales, y estos son los tipos de análisis y visibilidad de inmersión profunda que Preciso es capaz de proporcionar. Ahora, nos ponemos a mirar una aplicación.

No estoy seguro de si ustedes pueden ver mi puntero, pero quería describirles el gráfico superior. El eje y muestra el tiempo de respuesta promedio. El eje x es el tiempo en un día. Y en realidad hay un gráfico de barras apiladas y ese gráfico de barras apiladas, el total muestra cuál es el rendimiento y luego muestra un nivel de cuánto tiempo se gasta en cada paso individual o cada nivel individual de la aplicación. Desde el cliente, a través del servidor web, el verde es Java, en este lugar estamos usando Tuxedo y bajamos a la base de datos. Ahora la mitad inferior de la pantalla muestra los diferentes menús web a los que se está accediendo y luego hemos clasificado con solo una pequeña flecha verde apuntando hacia abajo. Está en orden descendente, y aparece en la parte superior, el menú web comienza a mostrarlo. De hecho, mostramos el tiempo de ejecución, el tiempo de respuesta de cada tecnología individual y, en realidad, hay un gráfico de barras para cada uno de esos menús web, y así obtenemos una idea de lo que está sucediendo. Ahora recuerde que resolvimos todo esto con un usuario final que llamaría, pero ¿cómo encuentro al usuario final? Entro aquí, abro un menú que me permite filtrar a un usuario en particular, así que configuro a ese usuario en Alex Net, hago clic en Aceptar y luego nos enfocamos solo en la actividad de Alex Net. Ahora, lo que esto hace es permitir que la TI y la administración de TI respondan directamente a un usuario final y, en particular, que estaban viendo la administración de contenido que tuvo seis ejecuciones con un tiempo de respuesta de poco más de tres segundos. Bueno, tres segundos es bastante bueno, no es terrible, pero tal vez sea más lento.

Lo que puedo hacer con esto es cortar y cortar esta información de diferentes maneras. Podría decir, bueno, ¿esta transacción es lenta para todos? ¿Es más lento hoy para Alex que ayer? ¿Es lento para cada usuario dentro de una ubicación particular? O bien, y lo que eso hace es que me permite cortar y trocear y tener una idea de lo que está sucediendo, qué tan universal es el problema y es muy importante poder identificar al usuario final, porque no se trata solo del software, la infraestructura, también se trata de cómo los usuarios finales están ejerciendo la aplicación. A menudo puede tener un nuevo empleado o alguien con una nueva función de trabajo, y no están familiarizados con ciertas pantallas SAP o ciertos paneles PeopleSoft y necesitan un pequeño puntero, tal vez están dejando campos en blanco o poniendo comodines y ellos ' obligando a devolver grandes resultados de la base de datos. Pero al tener la identificación de usuario, puede llamarlos antes de que lo llamen. La otra cosa que encontramos es que una vez que la comunidad de usuarios es consciente de que TI sabe lo que están haciendo, muchas veces se comportan mejor y muchos problemas, muchas cosas que han sido problemas, solo un poco evaporarse, porque las personas que se comportan, solo operan un poco más cuidadosamente. Utilizan el sistema con mayor cuidado.

La identificación del usuario final es esencial. Al final, es esencial que TI pueda ayudar a un usuario final en particular. Ahora, lo que hemos hecho aquí, es que hemos ido a la pestaña "Flujo". Puedes ver eso en la esquina superior izquierda. Y nos hemos centrado en un componente particular del menú web. Y en el lado derecho hay un análisis de esa transacción en particular, por lo que en la parte superior en realidad está el navegador y luego la Vista, solo para familiarizarse con un poco de los íconos dentro de la GUI es para el servidor web, entonces Podemos ver el punto de atributo. Y luego la "J" es para Java y la "T" es para Tuxedo y, naturalmente, la "Q" es SQL. Bueno, ese valor en efectivo básicamente identifica una declaración SQL particular. Considera lo que esto hace. Hemos identificado un usuario para una transacción, para el código de aplicación subyacente, incluidas las declaraciones SQL individuales. Ahora, cuando miro esas declaraciones SQL individuales, puedo ver que del tiempo de respuesta total, cada una de ellas es responsable de aproximadamente el seis por ciento, y cuando suman las cuatro declaraciones SQL principales, tomaron aproximadamente una cuarta parte de la transacción hora.

Ahora a menudo, la base de datos es la más fácil de manipular. Por lo general, es más fácil obtener un rendimiento económico y muy superior. Ahora necesito profundizar un poco más para descubrir qué está pasando y qué, quiero que el ejemplo sea capaz de revelar la declaración SQL individual, y sabes que casi puedo garantizarte con cada disparo en la línea tenía algún tipo de herramienta de base de datos y lo que hace la herramienta de base de datos, pero solo mirando una tecnología de forma aislada, es que se mira el enfoque en la salud de esa tecnología. Y muchas veces la gente mira una lista de los diez principales. Ahora, esta declaración SQL es bastante rápida, no va a estar en la lista de los diez primeros, pero es la declaración SQL en la que se basa esta transacción. Entonces, lo que puedo hacer con esa palabra, contexto, es que ahora puedo llamar la atención, pero en el contexto de la declaración SQL individual.

Ahora, esa persona puede abrir Precise en el contexto de la instrucción SQL individual, y Precise captura el plan de ejecución real que utiliza, el tiempo de ejecución que esto es algo importante para el DBA, realmente mostrará, se puede ver que el 50 por ciento del el tiempo se gasta esperando en el almacenamiento. El cincuenta por ciento del tiempo se usa en la CPU, por lo que comienza a tener ideas de dónde se está gastando el tiempo, cómo podría reducir ese tiempo, y la idea es dar opciones a las personas, porque diferentes respuestas tienen diferentes costos y riesgos asociados . Idealmente buscamos la solución de bajo riesgo y bajo costo a un problema. Ahora que la declaración SQL se rastrea por un valor hash y hay, en el medio izquierdo de la pantalla hay un pequeño botón "Tune", y lo que va a hacer es llevarlo a una tarea SQL. Y esta tarea SQL es una especie de banco de trabajo preconstruido y lo que esto hace es que me permite analizar realmente específicamente qué está afectando a la declaración SQL que comienza con el plan de ejecución. El optimizador elige el plan de ejecución cuando se analiza la declaración, de vuelta a la analogía de los alimentos, es la receta que se sigue para resolver la declaración SQL.

Y algunas recetas son más complicadas que otras, por lo que proporcionamos resultados. Y en realidad se mostrará aquí, oye, mucho tiempo está haciendo E / S secuenciales en un índice en particular. Y mira ahora, cuando, volviendo al oxígeno, sigue este índice. ¿Se ha desfragmentado ese índice recientemente? ¿Cuál es la salud de si? ¿En qué espacio de tabla vive? ¿El espacio de tablas está segregado de la tabla a la que hace referencia? Y así comienza a darle todo tipo de ideas sobre cómo podría resolver el problema. Ahora, obviamente, ya sabes, estamos construyendo un índice. Es un riesgo mucho menor, mucho más fácil que tal vez mover un índice de un espacio de tabla a otro espacio de tabla, por lo que lo que queremos hacer es un tipo de opciones de acumulación, para que podamos implementar la opción de menor costo y menor riesgo para resolver el problema.

Precise también puede hacer cosas como capturar variables de enlace que se convierten en una instrucción SQL. Obviamente, las variables que se convierten van a controlar el tamaño del conjunto de resultados. Y controlará cuánto tiempo lleva ejecutar esa declaración SQL y cuántos datos debe pasar y procesar la aplicación a través de Java, a través de .NET, en el servidor web y la red, finalmente se procesa en el navegador del usuario final . Lo que sucede en la base de datos afecta directamente el tiempo de ese navegador. Por lo tanto, será crucial tener este nivel de visibilidad para que podamos saber exactamente qué está pasando y darle al DBA la mayor cantidad de opciones para que puedan elegir cuál tiene más sentido, dada una situación particular.

Ahora, estas son algunas de las citas y son de una tienda PeopleSoft que tiene una implementación global. Precise es compatible con PeopleSoft y SAP, Siebel, Oracle, E-Business Suite, aplicaciones propias de Java y .NET. Lo apoyamos, por lo que si realiza llamadas de servicio web a varias JVM, desde Java a .NET y de regreso a Java, podemos rastrear todo eso. Podría ser in situ, podría estar en la nube. Lo crucial es que las cosas necesitan ser instrumentadas.

Y así, solo un par de citas de uno de nuestros clientes: "Antes de Precise, nuestros DBA usaban OEM", es una herramienta de base de datos, y básicamente dijeron: "Oye, las instancias se ven geniales". Pero podrían Ayuda a identificar o abordar un problema con una transacción en particular. Preciso proporcionó la visibilidad para hacer eso. Por lo tanto, tener esa información sobre las declaraciones SQL fue fundamental para dar a los DBA la visibilidad para exprimir completamente el rendimiento de la base de datos. Y eso fue realmente agradable. Más allá de algunas de las herramientas que podrías estar viendo.

Y luego, a la administración de TI realmente le encantó el hecho de que Precise pudo traducir una URL compleja en un nombre de panel. Y de esa manera, si un usuario final llama y dice: "Oye, estoy teniendo problemas con esto", puede aislar y ver quién es ese usuario, qué está ejecutando, qué tipo de rendimiento, en realidad están midiendo la representación tiempo en el navegador del usuario final. Es una verdadera medida de la experiencia del usuario final. Y también, tener esa identificación de usuario es absolutamente esencial para ayudar a una persona en particular que llama.

¿Cómo hace esto Precise? Y por eso nos gustaría compartir nuestra arquitectura. Precise debería vivir en su propio servidor, y vivir en una VM, puede vivir en la nube. En el extremo frontal, Precise está habilitado para la web, ya sea que use paneles, la interfaz de alertas o la GUI de expertos. En el lado de la recopilación de datos, en realidad podemos hacer sin agentes para varias tecnologías diferentes. Sin embargo, a menudo requerimos un agente, y hay ventajas y desventajas de tener un agente. Una gran ventaja es que los datos recopilados se pueden procesar previamente antes de enviarlos a través de su LAN. Y eso significa que podemos minimizar el impacto total de la solución de monitoreo en el entorno objetivo.

Ahora considere como alternativa, si tiene "sin agente", todavía hay un recopilador de datos, es solo una cuestión de dónde vive, y está haciendo llamadas y pasando datos sin procesar sobre la aplicación de destino a través de su LAN. Y en realidad es bastante caro. Y así, mediante el preprocesamiento, podemos minimizar la huella. Podrá monitorear tanto físico como virtual. Y una cosa que quería decir sobre la tecnología virtual es que realmente se enfoca en la utilización. En lo que se enfoca Precise es en la contención. ¿Cuándo la tecnología VMware realmente minimiza los recursos para su VM invitada? Y así se vuelve realmente fácil. Si solo está mirando dentro de una máquina virtual invitada, solo tiene una parte de la imagen. Ser capaz de detectar y alertar automáticamente sobre la contención, es realmente esencial.

Precise puede monitorear hasta 500 instancias, por lo que las implementaciones muy grandes básicamente tienen múltiples servidores Precise. Y para una implementación global, generalmente será un servidor Precise en cada centro de datos. Por cierto, para las implementaciones más grandes, puede realmente federarlas juntas para que pueda ver a toda la empresa lo que está sucediendo y poder ofrecer informes, etc. Ahora, como he mencionado, tenemos muchos análisis técnicos. No todo el mundo necesita entrar en la GUI experta, por lo que ofrecemos un panel personalizable. Y cada uno de estos portlets o widgets, todos son opcionales. Y alguien podría simplemente querer decir: “Oye, ¿cómo puedes activar una alerta en cualquier nivel dentro de nuestro entorno? ¿Cómo les está yendo a los grupos de uso final desde una perspectiva de rendimiento? ”O tal vez tengas una pregunta sobre la infraestructura, entrando quizás incluso en el rendimiento de Tuxedo. O incluso el equilibrio de carga. Es un poco interesante aquí en esta parte de equilibrio de carga. Estoy mirando el portlet en el medio en el lado izquierdo. Puede ver que el número de ejecuciones es muy similar entre cada uno de los servidores web. Pero el tiempo de respuesta es muy diferente en el superior. En realidad, puede profundizar y descubrir exactamente la razón por la cual el tiempo de respuesta en ese servidor web fue mucho más lento que el de los otros.

Una cosa sobre el equilibrio de carga, esto es muy importante, y las políticas de equilibrio de carga, ya sabes, no todas las políticas de equilibrio de carga son apropiadas para cada aplicación. En realidad, es realmente útil validar su política de equilibrio de carga. De hecho, estamos viendo algunas aplicaciones como la nueva GUI de PeopleSoft Fluid, donde en realidad algunos servidores web se desconectarán. Y eso es algo realmente crítico. Si está implementando PeopleSoft Fluid GUI, contáctenos. Podemos proporcionarle una gran cantidad de información y mucho conocimiento sobre lo que otros clientes han enfrentado. Cada uno de estos portlets puede ser bastante detallado. Al igual que el centro a la derecha, con el azul y el verde, en realidad muestra el patrón de la punta de la espada, muestra que su recolección de basura dentro del nivel de WebLogic se está ejecutando de la manera que espera que se ejecute. Cada uno de estos portlets puede estar muy enfocado o puede tener un nivel muy alto. Y la razón por la que eso es importante, o podría ser importante, es que muchas veces no es lo suficientemente bueno como para tener esta información dentro de TI, a veces hay que compartir esta información con los propietarios de las aplicaciones y, a veces, con la alta gerencia, sobre lo que está sucediendo. .

Quería compartir con ustedes un par de historias, más o menos, “Éxito en el centro de datos”. Y estas están enfocadas en la base de datos y tengo otras historias enfocadas en el nivel medio. Pero por hoy realmente quiero centrarme en el nivel de base de datos. Echemos un vistazo a la pantalla se congela. Ahora, lo que sucedió aquí es que esta tienda en particular tenía un SLA comercial, que si se recibe un pedido antes de las 3 pm, el pedido se envía ese día. Y entonces el almacén está extremadamente ocupado durante ese período de tiempo. Y luego, al congelarse la pantalla, fue muy frustrante. Y así, el supervisor, esta es una empresa más pequeña, el supervisor en realidad entró en TI y, por supuesto, se acerca al DBA y dice: "Ahora, ¿qué está pasando?" Y entonces, lo que hicimos, pudimos mostrar exactamente que esta pasando. Ahora bien, esta es JD Edwards, una aplicación de varios niveles, esta es la pantalla de pedido de ventas. Puedes hacerte una idea de lo que era el negocio, básicamente un inventario justo a tiempo, y básicamente estás buscando aplicaciones de almacén. Y ahora básicamente está enviando a varios sitios de clientes diferentes, diferentes tiendas. Y lo que hicimos es que abrimos Precise.

Ahora, en este caso, antes de mirar a Oracle, aquí estamos mirando a SQL Server, y ahora la mitad superior nos muestra un gráfico de barras apiladas de donde las declaraciones SQL pasan su tiempo mientras se ejecutan. Cada estado débil se tiene en cuenta en el eje y. El eje x es, por supuesto, a través del tiempo y puede ver que el gráfico de barras apiladas cambia desde el segmento de tiempo dependiendo de lo que se está ejecutando y cómo usa el sistema. Ahora, en este caso particular, nos centramos en la tercera secuencia SQL desde arriba. Se envía un mensaje de texto SELECT FROM PS_PROD y puede ver en esa columna que hemos capturado el plan de ejecución real. Y puedes ver la cantidad de ejecuciones. El hecho de que esa declaración SQL en particular fue responsable del 9.77 por ciento del consumo de recursos durante este período de tiempo que estamos viendo, y ese es un punto importante, el período de tiempo, Precise mantiene un historial continuo, por lo que básicamente puedo marcar y descubra lo que sucedió en un momento determinado o con el tiempo. Puedo ver las tendencias.

Ahora, en esta declaración SQL, ves ese gráfico de barras apiladas allí, es azul oscuro. Eso dice que estamos usando toda la CPU. Avancemos y concentrémonos haciendo clic en este botón "TUNE" en esa declaración SQL en particular. Lo que hacemos es llevarlo a ese taller, taller prefabricado que está diseñado para decir: "Bueno, ¿qué va a saber el DBA sobre esta declaración SQL en particular?" Y puede ver en el lado derecho una pestaña llamada " Historia "que ha sido seleccionada. Y lo que me gustaría que hicieras ahora es desplazarte hacia el lado izquierdo donde dice "Cambios vs Duración promedio", duración promedio. Y cada una de esas barras representa eventos al día.

Como pueden ver el miércoles, jueves y viernes, el tiempo de ejecución fue, voy a redondear al punto dos. El eje y muestra el punto cuatro segundos, entonces el punto dos. Muy pocos bloqueos de pantalla, las operaciones van muy bien, en el SLA. Lamentablemente, el 27 de febrero el plan de ejecución cambió y eso provocó un cambio inmediato en el tiempo de ejecución. De repente, el tiempo de ejecución aumenta, cuatro X, tal vez cinco X, y las cosas funcionan muy mal. Ahora Precise, en su repositorio, en realidad, publica todos los cambios que pueden afectar el comportamiento. Y puede ver aquí que en realidad hemos capturado los cambios del plano del eje. El que está en el medio dice "Volumen de tabla cambiado". Entonces, las tablas están creciendo y estamos en la cúspide, cuando se analiza la instrucción SQL, el optimizador elige un plan de ejecución o un plan de ejecución diferente.

Ahora, afortunadamente, esta semana aquí el lunes se volteó, así que fue en un buen momento. Desafortunadamente, vuelve a flip-flops, y usted sabe qué, los usuarios finales comienzan a anticipar bloqueos de pantalla y comienzan a volver a enviar esa pantalla y empujan el conteo de ejecución hacia arriba y hacia arriba y hacia arriba. Tenemos una gran cantidad de detalles, pero para resolver este problema y luego evitarlo en el futuro, necesitamos una información adicional. Y eso se me muestra bajo la comparación de esos planes de ejecución. El 5 de marzo, cuando fue rápido y eficiente, en el lado izquierdo muestra el plan de ejecución. Cuando era lento e ineficiente el 12 de marzo, puede ver que está haciendo una unión de filtro. La unión del filtro solo fuerza mucho más consumo de CPU, haciendo mucho más trabajo. El resultado es idéntico, solo está haciendo mucho más trabajo. Es como ir y obtener sus suministros de un ingrediente a la vez, en lugar de ir a la despensa y obtener todos los ingredientes a la vez. Y entonces existe este tipo de forma más eficiente de hacer esto. Ahora, por lo general, sabiendo esto, el DBA pudo usar el plan de consulta para evitar este plan de ejecución lenta y asegurar un rendimiento rápido y alto.

Ahora, el siguiente tipo de historia de guerra fue "Los informes llegan tarde". Creo que mucha gente puede identificarse con este escenario. Puede tener informes ad hoc, puede usar una herramienta como NVISION, puede tener alguna herramienta de informes de terceros. Y lo que sucede es que la herramienta desarrolla el SQL. Y a menudo el SQL no está realmente codificado tan bien. Y esto también podría aplicarse a una situación en la que, ya sabes, tienes alguna aplicación de terceros, justo, donde el SQL no estaba escrito internamente, y entonces como un DBA, "No controlo el SQL, qué ¿voy a hacer al respecto? "Bueno, Precise proporciona algo que no conozco de ninguna otra herramienta de base de datos y que es una vista de objeto. Combinado con recomendaciones y modelado. Entonces, lo que podemos hacer es girar la visibilidad sobre su cabeza. En lugar de solo mirar la actividad, investiguemos, ¿qué objeto es más pesado en el sistema? Y en la parte inferior de la pantalla puede ver la línea de orden SQL y puede ver la columna "en MS-SQL". Y la tabla de líneas de pedido es como diez veces más ocupada que cualquier otra tabla en el sistema. Creo que lo que también notará en la mitad superior, la asignación de espacio está creciendo y también puede ver las especificaciones en el servidor qué versión de software estamos ejecutando. Precise verificará los cambios realizados en la configuración principal. Una vez más, causa y efecto.

Ahora, centrándome en la tabla de líneas de orden, lo que puedo hacer con mi repositorio histórico detallado es que realmente puedo correlacionar las declaraciones SQL que van en contra de la tabla de línea de orden. Y puede comenzar a mirar la cláusula where en esas declaraciones SQL. Y comienza a notar que la cláusula where es bastante similar entre las diferentes declaraciones SQL. Y te sugiero que en tu sistema de grabación encuentres lo mismo. Debido a que los usuarios de negocios, los analistas de negocios van a querer hacer cosas como la actividad comercial agregada durante el último día, la última semana, el último mes, el último trimestre, el último año. Verá muy similares dónde las cláusulas, ordenar por, agrupar por, y eso significa que habrá ciertos índices que tengan sentido para esas declaraciones SQL.

Entonces, Precise tiene un motor de recomendaciones, puede verlo en la esquina superior derecha, y lo que podemos hacer es obtener recomendaciones. Diga: "Oye, estoy ejecutando todas las instrucciones SQL, ¿qué índices las abordarían?". Los índices se presentan y usted puede ver el DBL. Ahora Precise es de solo lectura, no ofrece la posibilidad de hacer clic en un botón y crear el índice, pero eso es bastante fácil de hacer fuera de Precise. Pero aquí está lo crucial: Precise le permite evaluar y modelar los cambios, por lo que existe este botón Evaluar en la esquina inferior izquierda de la pantalla. Y lo que hace es mostrar las declaraciones SQL en el antes y el después.

Veamos estas declaraciones SQL. ¿Ves esta columna aquí que dice "en MS-SQL" y dice una hora, cuatro minutos? Que las principales declaraciones SQL ejecutan o consumen aproximadamente 64 minutos de recursos. Y su mejora proyectada es del 98 por ciento. Estos cambios van a ahorrar horas de procesamiento. La siguiente instrucción SQL es de 27 minutos y básicamente ahorrará un tercio. Eso es unos diez minutos de procesamiento. En resumen, estos cambios propuestos te permitirán ahorrar horas y horas de procesamiento. Y así poder saber esto por adelantado, poder modelar esto. También puede usar la capacidad de "qué pasaría si" para decir, "Bueno, no quiero hacer ese índice, o ¿qué sucede si cambio el orden de la columna?" Y así puedo usar esta capacidad de modelado para saber exactamente qué va a pasar.

La otra cosa que es crucial es que, cuando realizo el cambio, puedo medir una declaración SQL individual. Viste el historial de instrucciones SQL en el ejemplo anterior, y realmente puedo verificar si logré los ahorros que se modelaron. Y para que la retroalimentación, completar el ciclo de retroalimentación sea absolutamente crucial.

Muy bien, aquí está el último ejemplo que iba a tener para ti. Esta es una tienda de SAP y, ya sabes, habían realizado una actualización importante, estaban haciendo algunas cosas con transacciones personalizadas y, básicamente, un usuario final no estaba satisfecho con el rendimiento. Entonces, lo que hicimos fue que pudimos enfocarnos en lo que ese usuario final experimentó. Y puede ver en la parte superior de la lista, "CHOUSE" y el tiempo de respuesta es un poco más de 61 segundos. Esto lleva un minuto ejecutarlo. Ahora puede ver que tenemos un gráfico de barras apiladas orientado a SAP. En el lado derecho muestra el tiempo del cliente, el tiempo de espera. El azul es el tiempo de aplicación y en un entorno SAP, ese es el código ABAP y luego la base de datos. Y entonces, la base de datos, ya sabes, podría ser Oracle, podría ser SQL, podría ser HANA. Básicamente podemos demostrar eso.

Ahora, lo que hacemos con Precise es que nos enfocamos, para esa transacción y ese usuario, en lo que salían las declaraciones SQL. Una vez más, ese contexto para conectar los puntos. Ahora, esta declaración SQL principal, puede ver que está en un círculo, se ejecuta en dos milisegundos. Realmente no puedes culpar a la base de datos si se está ejecutando tan rápido. El recuento de ejecuciones es muy alto. En realidad, podemos volver al codificador ABAP y decir: "¿Qué está pasando?". De hecho, descubrimos que el código en la base de datos estaba en el lugar equivocado, estaba anidando en el lugar equivocado dentro del bucle, hizo que cambiar y luego podemos medir después. De hecho, puedes ver cuál es el rendimiento después. No solo a nivel de instrucción SQL sino también a nivel de código personalizado. Y así podrían vivir con un tiempo de ejecución de cuatro segundos y medio. Y estos son solo algunos ejemplos de cómo se puede aprovechar Precise, usted puede aprovecharlo. Como resumen rápido, Precise muestra el rendimiento por ubicación, por la identificación del usuario final, proporciona contexto a través de la pila de aplicaciones. Puede profundizar en la causa raíz. Y creo que uno de los grandes diferenciadores es poder saber, no solo la declaración SQL, sino por qué la declaración SQL se ejecuta lentamente y poder identificar la contención y, básicamente, ofrecer más opciones para resolver problemas. Esto es lo que Precise tiene para ofrecer y puede consumirnos, ya sabes, de una manera liviana o si tiene problemas muy profundos y desafiantes, nos encanta enfrentarlos también.

Eric Kavanagh: Muy bien, debo decir que fueron muchos detalles fantásticos, Bill. Gracias por mostrar todas esas capturas de pantalla. Y desde mi punto de vista, realmente cumpliste lo que estaba explicando en la parte superior de la hora, que es, número uno, que necesitas tener la herramienta adecuada. Debe tener una herramienta que le permita la cantidad de contexto requerida para identificar todos los elementos en la ecuación, como alguien dijo en una película una vez, eso fue divertido. Pero déjame seguir adelante y entregárselo a Dez porque apuesto a que tiene algunas preguntas para ti y quiero empujar una más de estas diapositivas solo para dulces visuales, si quieres. De hecho, espera, déjame recuperar esto. Pero Dez, estoy seguro de que tienes algunas preguntas, quítalas.

Dez Blanchfield: Sí, lo hago, wow. Esta herramienta ha recorrido un largo camino desde que la conocía originalmente, y no sabía que realmente hubieras llegado tan profundo en la pila ahora. Es simplemente alucinante. Muy rápido, un par de cosas. El modelo de implementación, puede simplemente realmente rápido, en uno o dos minutos, simplemente esbozar el modelo de implementación tradicional o típico. Usted mencionó que estaba disponible como máquina virtual. Se puede ejecutar en la nube. Y supongo que una de las preguntas que probablemente surgirán y creo que hubo un par de preguntas que surgieron en la sección de preguntas y respuestas. Solo para recapitularlos en resumen, para que el modelo de implementación normal y el tipo de eje que se requiere, ¿se implemente tradicionalmente en las instalaciones o alojado o en la nube? ¿Cuáles son los tipos de modelos de implementación que normalmente ve? ¿Y qué tipo de eje se requiere para que eso funcione? ¿Tenemos que cambiar las cosas a nivel de seguridad en torno al acceso a la red, y así sucesivamente? ¿O puede esto simplemente comportarse como un usuario final?

Bill Ellis: Sí, por lo que actualmente la mayoría de las instalaciones son in situ. Cada vez más personas están colocando componentes de la pila de aplicaciones en la nube y así podemos manejar eso también. La implementación en la que necesitamos un servidor para ejecutar, cumplirá con ciertas especificaciones. Necesitamos tener una base de datos para almacenar el repositorio histórico, por lo que cumplir con esos requisitos previos es una especie de primer paso. Lo siguiente es que definitivamente necesitamos tener algún conocimiento de la aplicación en sí y la instalación está guiada por un asistente y básicamente completa los espacios en blanco. Debido a la profundidad de la información que estamos obteniendo, desde un nivel de proceso web hasta el código que se está ejecutando, necesitamos tener algunos privilegios. Tenemos que decir que tenemos un modelo de datos seguro, o modelo de seguridad, porque los agentes se ejecutan con credenciales que están totalmente separadas de las personas que usan los metadatos sobre las transacciones, etc. Precise se comunica a través de TCP sobre IP y, por lo tanto, requerimos que ciertos puertos estén abiertos. Como un ejemplo rápido, como nuestro puerto predeterminado es 2702. Ese tipo de cosas detalladas es algo que si la gente está interesada, podríamos entrar en él con más detalle. Pero, por lo general, tenemos un tiempo de valor muy rápido. Si alguien se enfrenta a un gran problema, a menudo podemos instalarlo y arrojar una luz brillante sobre una situación en cuestión de horas.

Dez Blanchfield: Sí, definitivamente tengo ese sentido también. En el modelo de implementación, habló sobre una escala muy grande y hasta 500 instancias y cómo se podría federar. En el nivel de entrada, ¿cómo se vería si alguien quisiera? Porque sé que IDERA es muy grande en dar acceso a pruebas gratuitas, demos gratuitas y recuerdo haber visto en el sitio web que casi todo se puede jugar. Para la gente de aquí, y creo que me lo perdí antes, pero creo que surgió una pregunta sobre cómo se ve un sitio típico y cómo las personas tienen acceso a este y comienzan a jugar con él y obtener ese tipo de experiencia donde pueden ver si tienen una manera de abordar algunos problemas de rendimiento? ¿Pueden descargar un ODS y girarlo en su hipervisor, Hyper-V o computadora portátil o necesitan una máquina dedicada para ejecutarlo? Esbozó la arquitectura antes, pero solo muy brevemente, en un minuto o dos, ¿cómo se ve eso para la implementación de nivel de entrada solo para hacer una prueba de concepto, por ejemplo?

Bill Ellis: Sí, entonces nuestro modelo es un poco diferente a las herramientas IDERA. Nos adaptamos más al escenario de Embarcadero, donde le gustaría contactar a uno de nuestros representantes de ventas. Queremos simplemente discutir con usted cuáles son los desafíos y luego, normalmente, uno de los SE sería asignado y básicamente trabajaría en la instalación con alguien. Por lo general, no ejecutaría Precise en su computadora portátil. Desearía tener una VM o un servidor dentro del centro de datos donde vive la aplicación, para hacer las colecciones. Pero te ayudaríamos en cada paso de eso. Si alguien está interesado en perseguir eso, definitivamente desea contactar a IDERA.

Dez Blanchfield: Una de las otras cosas que me llamó la atención fue que, quiero decir, mucho de lo que hemos cubierto hoy está relacionado con la reacción a los problemas de rendimiento. Pero me pareció que, y en entornos en vivo, ya que la gente los usa, así que, en su primera presentación de diapositivas, alguien levanta el teléfono y dice: "La aplicación se está ejecutando lentamente, ayuda". Pero me sorprendió que durante la presentación previa de las aplicaciones o actualizaciones o nuevos parches y correcciones, podría pasar por un montón de planificación de la capacidad y pruebas de estrés y tener un análisis preciso de todo el entorno y realmente encontrar problemas incluso antes de poner a los usuarios finales en el entorno. ¿Es ese un caso de uso que has visto antes o las personas también lo están haciendo, o no es un caso de uso típico?

Bill Ellis: Absolutamente, nos gustaría usar Precise durante todo el ciclo de vida de desarrollo de la aplicación o el ciclo de vida de la actualización también. Precise ofrece una vista de escalabilidad, que mostrará el número de ejecuciones superpuestas con el tiempo de respuesta. Obviamente, si tanto el número de ejecuciones como el tiempo de respuesta crecen juntos, no está escalando y necesita hacer algo. Ese tipo de cosas ha ayudado inmensamente. Creo que ahora es un poco menos cierto, pero cuando la gente comenzó a poner aplicaciones de producción en VMware, dudaron un poco y, como saben, lo primero que dirían fue: "Oh, necesitamos mover esto a físico ". Y lo que realmente podemos hacer es mostrar cuál es el consumo de recursos para que pueda hacer que la aplicación sea más eficiente. En cada paso del ciclo de vida de la aplicación, definitivamente desea utilizar Precise. Pero debo decir que la producción es realmente donde el rendimiento es lo más importante y Precise está orientado a la supervisión de la producción 24/7, por lo que realmente no desea ejecutar sus aplicaciones de producción sin visibilidad.

Dez Blanchfield: Absolutamente. Otra pregunta rápida solo sobre esa especificación: prueba de profundidad, inmigración, UAT, etc. Quiero decir, es genial tener esta herramienta e imagino que a los desarrolladores de aplicaciones les encantaría tener acceso a esto a través de los ciclos de vida del ciclo de vida de desarrollo. . Con las arquitecturas más complejas que está viendo ahora, por lo que hemos pasado del servicio dedicado a las virtualizaciones y la virtualización, ahora nos estamos moviendo para adoptar, ya sabes, la adopción de externalización al alojamiento en la nube y también estamos viendo una transición a la contenedorización. ¿Has visto a muchas personas implementar esto y modelar el tipo de regiones o zonas, por lo que alguien podría haberlo hecho? Y en Australia tenemos un problema muy importante en torno a la privacidad y sé que en Europa es lo mismo y creo que se está volviendo más un caso en los EE. UU., donde los datos que pueden identificarme personalmente a menudo necesitan estar en un entorno más seguro que la capa de aplicación real a la capa web. Y ahora tenemos estas implementaciones donde las personas pueden mantener internamente su base de datos y sus aplicaciones, pero pueden poner su capa web y su final de entrega y aplicación, etc. en un proveedor de la nube como Azure o, o Amazon Web Services y software . ¿Cómo funciona eso con su implementación normal? ¿Es ese el caso de que acaba de obtener otro conjunto de recolectores en la región y que solo agregan un poco más? ¿Cómo se ve eso en el mundo de Precise en el enfoque bimodal actual de ejecutar TI de cosas antiguas en un solo lugar y sus productos a veces están en la nube?

Bill Ellis: Sí, entonces apoyamos un entorno mixto. Una cosa a tener en cuenta es que hay diferentes contratos con los proveedores de la nube. Algunos de ellos no permitirán ningún tipo de agente ni ningún tipo de monitoreo externo dentro de la nube. Para instalar y monitorear con Precise, debe tener un tipo de contrato que permita ese tipo de acceso. Definitivamente, hay algunas restricciones que a veces tenemos que superar y, por lo tanto, esos son un tipo importante de criterios que debe considerar cuando, supongo, está firmando primero esos contratos y luego y / o si necesita implementar Precise.

Dez Blanchfield: Sí, he visto una serie de instancias en las que incluso con el entorno de base de datos tradicional si está adquiriendo eso como parte del servicio, particularmente con los gustos de Azure, ya que está comprando los gustos de HDInsight o SQL como servicio, como plataforma, sus herramientas habituales solo pueden sumergirse tan profundamente porque no están realmente interesadas en que vea lo que hay debajo del capó. Y así, terminas con un cierto nivel o profundidad que puedes controlar y, de repente, simplemente no puedes ver detrás de la cortina mágica. ¿El autoservicio es una cosa? ¿Es esto tradicionalmente algo que se ejecutaría dentro de un centro de operaciones de red donde el equipo técnico, la gente bajo el CIO solo tendrían acceso, o también es algo a lo que puede proporcionar un nivel de acceso a los usuarios finales? Tal vez no sea necesariamente el mostrador de recepción y las personas tradicionales de recursos humanos y finanzas, sino más usuarios inteligentes que están haciendo, ya sabes, por ejemplo, científicos de datos, actuarios, estadísticos, personas que están haciendo cargas de trabajo realmente pesadas. ¿Es posible que puedan acceder a algún tipo de acceso de autoservicio para ver qué sucede cuando ejecutan estas pesadas consultas y dónde está surgiendo el dolor para poder ajustar cómo funciona su carga de trabajo?

Bill Ellis: Hay una seguridad bastante buena dentro de Precise, por lo que puede configurar usuarios que tengan diferentes niveles de acceso. En niveles muy básicos, solo los paneles de control proporcionan supervisión. Y luego, dentro de, si alguien quisiera ingresar a la GUI experta, puede restringir lo que puede ver y lo que puede hacer. Y en cierto modo volviendo a su pregunta anterior que, ya sabes, en la atención médica tiene todas las leyes HIPAA y, por lo tanto, definitivamente hay algunas consideraciones y en realidad hay algunas opciones de implementación para que podamos trabajar con ella en ambos entornos. Una cosa a tener en cuenta con los datos que ha visto en esta presentación es que todos son metadatos sobre el rendimiento, no el contenido de las tablas, ya sabe, y por lo tanto, realmente no va a entrar en ese tipo de preocupaciones sobre la privacidad.

Dez Blanchfield: Sí, eso me gustó. Tuve un momento eureka sobre su cuarta o quinta diapositiva de las capturas de pantalla y me di cuenta de que solo está obteniendo rendimiento, bueno, no solo, pero está obteniendo datos de rendimiento, está obteniendo cosas, como dijiste, metadatos de los diferentes niveles de la pila, en realidad no estás mirando el contenido. Y creo que esto es algo interesante porque es una de esas herramientas en las que puedes implementarlo a corto plazo y ver lo que sucede en el entorno, pero no tienes que tener acceso a los datos en sí. Incluso puede ver la forma en que se ejecutan las tripulaciones. Lo último, supongo, solo rápidamente, y luego se lo devolveré a Eric, así que si tienes una pregunta, entonces haz que Rebecca termine, mencionaste antes que los gastos generales son nominales, es un caso de que sea incluso una sobrecarga notable desde el lado de monitoreo de las cosas y solo mirando el fondo o es una cantidad de carga tan insignificante que simplemente no vale la pena considerar?

Bill Ellis: Sí, así que creo que en el nivel de la base de datos, ya sabes, cada tecnología es un poco diferente. En el nivel de la base de datos, Precise es bastante conocido por superar la sobrecarga más baja. En el nivel medio hay, ya sabes, hay una especie de acto de equilibrio, ya sabes, no es solo Preciso, se aplica a todos, en términos de visibilidad y gastos generales. Y entonces, una de las cosas es que ofrecemos una serie de herramientas sofisticadas para controlar cuál es la sobrecarga. Estamos diseñados para la producción y, ya sabes, definitivamente es útil evitar tantos problemas de desarrollo y control de calidad, pero, ya sabes, no hay nada como saber lo que está sucediendo en la producción.

Dez Blanchfield: Eric, frente a ti, ¿tienes alguna pregunta final?

Eric Kavanagh: Sí, solo diré que creo que hiciste un gran trabajo al señalar que el contexto realmente es la clave y es casi como si nos moviéramos hacia esta era de Internet de las cosas, quieres que todo esté instrumentado. Y creo que el estándar ahora en la fabricación es hacer eso, lo cual es una buena noticia, ¿verdad? Porque desea poder extraer información de todos estos entornos diferentes y unirla. Sin embargo, supongo que te lo entregaré para algunos comentarios de seguimiento. En eso se centran ustedes, en proporcionar una interfaz visual a través de la cual algunos analistas, un analista de TI esencialmente, pueden monitorear y analizar lo que está sucediendo en este entorno complejo y luego averiguar qué cambiar. Porque no es solo una herramienta. Debes tener la herramienta, pero necesitas a esa persona que va a profundizar en ese detalle y encontrar las respuestas, ¿verdad?

Bill Ellis: Sí, lo veo como hirviendo hasta la cima y priorizando dónde es la mayor recompra, ¿sabes? Si resulta que es una situación diferente porque no todos los problemas están en la base de datos. Si la base de datos es, ya sabes, las cosas se ejecutan en una décima de segundo, pero en el nivel de la aplicación las cosas tardan tres segundos, ahí es donde está la mayor recompra. Y de esa manera poder aislar el nivel del problema y luego lo que sucede dentro del nivel para centrarse realmente en dónde está la recompra. Eso realmente acelera la resolución y la optimización de la aplicación y es mucho más rápido, mucho mejor y mucho más divertido que las personas reunidas en una sala de conferencias diciendo: "Bueno, no soy yo, debe ser otra persona".

Eric Kavanagh: Eso es correcto. El otro día vi un gran meme que decía algo como: "Sé informado, no solo es obstinado". Entras en una reunión, tienes la información, puedes señalar los datos. Esa es la clave y estamos llegando allí, gracias a Dios. Bien amigos, vamos a continuar y concluir, pero archivamos todos estos webcasts para verlos más tarde. No dude en consultarlo en cualquier momento. Enumeramos todos nuestros webcasts ahora, la serie Hot Tech y la serie Briefing Room en Techopedia.com, así que salte en línea y consulte a esas personas. Con eso vamos a despedirnos. Gracias por tu tiempo hoy, Bill. Gracias a ti y a todo tu arduo trabajo, Dez. Y hablaremos la próxima vez, amigos. Cuídate. Adiós.

¿La aplicación se ejecuta lentamente? hora de ser preciso