En esta ocasión me gustaría compartir con ustedes, Administradores de CRM Online, un blog que a mí me resultó muy interesante e importante tener entre nuestras ligas de interés para lo cual me gustaría realizar la versión en español. Este blog fue desarrollado por el ingeniero Jaden Blake y se titula Microsoft CRM Online Performance Tips & Tricks (Parte 1 y Parte 2).

Este blog habla directamente sobre las recomendaciones a tener en cuenta cuando tenemos en nuestra organización algún tema de Desempeño relacionado con CRM Online.

En este documento se revisará cómo realizar el acercamiento al tema y las diferentes áreas involucradas, esto con el fin de poder encontrar las causas de inconvenientes de desempeño y cómo ubicarlas.

 

Por donde se debe comenzar?

Uno de los principales obstáculos relacionados con inconveniente de desempeño es saber por dónde comenzar.

El primer punto que siempre se comenta es que este tipo de inconvenientes son subjetivos. Lo que es aceptable para un usuario puede no serlo para otro. Lo mismo puede suceder entre dos Clientes.

-        Encontrar para sus usuarios que ven ellos como un nivel de rendimiento aceptable en CRM Online.

o   Usted necesita estar seguro que las expectativas de los usuarios sean realistas. Si sus usuarios finales muestran la necesidad de tener vistas y formas que abran en milésimas de segundo, sus expectativas necesitarán ser ajustadas. Una instalación básica con un mínimo de personalizaciones, con todas las afinaciones de desempeño aplicadas tardará por lo menos un par de segundos para abrir o cerrar registros y vistas.

-        Cuando los usuarios están definiendo sus niveles de rendimiento usted necesitará especificarles qué partes de la aplicación y qué acciones que están evaluando pueden variar en sus tiempos de respuesta. Por ejemplo: Abriendo la vista de Mis Cuentas o guardando un registro de Oportunidad.

-        Una vez determinado qué es lento y qué tiene un nivel aceptable en el desempeño, tendrá que medir sus tiempos actuales para tener la Línea Base de comparación. De esta manera los cambios hechos para mejorar el desempeño podrán ser medidos y validar el impacto obtenido.

o   Se usa Fiddler para medir el desempeño y el tiempo de carga de la página.

§  Fiddler es una herramienta que monitorea el tráfico HTTP. Este nos dará el tiempo que toma el equipo del cliente en recibir varias partes de la página que se está cargando.

§  Usted necesita ir a Fiddler y dar clic en Tools > Fiddler Options | HTTP | seleccione ‘Capture HTTPS CONNECTs y Decrypt HTTPS traffic que son las opciones para poder ver el tráfico HTTPS de varias de las partes de la página cargada. Usted tendrá dos pantallas emergentes, seleccione ‘Yes’ en ambas para instalar el certificado de Fiddler. Cuando esté listo, use Fiddler en el equipo del usuario, asegúrese que quitó los certificados de encriptación de tráfico yendo a Tools > Fiddler Options | HTTPS | quite ‘Capture HTTPS CONNECTs y Decrypt HTTPS traffic y entonces selecciona el botón Remove Interception Certificates. Seleccione ‘Yes’ en la pantalla emergente y de clic en ‘Ok’.

 

 

§  Note que Fiddler le añade algo de sobrecarga en las páginas cargadas mientras usted hace sus mediciones de desempeño, por lo que cuando su usuario esté realmente en CRM y realice las mismas acciones en su equipo sin Fiddler las acciones serán más rápidas.

-        Un punto adicional es que CRM Online toma ventaja de las páginas tiviascargadas. Cuando usted está midiendo el desempeño, asegúrese que lo hace sobre páginas tivias cargadas.

o   Una página tivia  será posterior a abrir/ver una página/registro/vista. En otras palabras, si usted borra su caché de Internet Explorer, después abre un registro de Cuenta en CRM, esta será una página ‘fría’ cargada. Si usted cierra este registro de Cuenta, y abre un registro diferente de Cuenta, esta será una página tivia.

o   Los archivos caché del cliente de CRM Online ayudan a agilizar CRM. Con una página ‘fría’ nosotros no tendremos ninguna de las imágenes, archivos, etc. que conforman la página cargada en el equipo del cliente.

-        La última parte para revisar con relación al desempeño es qué afecta el inconveniente de desempeño.

o   Solamente ciertos usuarios son afectados por el inconveniente?

o   Qué hace diferentes a esos usuarios de los que no presentan ningún inconveniente?

§  Cuál es la ubicación de estos usuarios afectados?

·        Estos usuarios están ubicados en diferentes lugares geográficamente?

§  Estos usuarios tienen el mismo tipo de Hardware que los otros?

§  Estos usuarios tienen el mismo tipo de Software que los otros?

Una vez que se tiene definido el inconveniente de desempeño necesitará comenzar a ver en las diferentes áreas en la que impacta el desempeño:

  •         Hardware del equipo
  •         Software del equipo
  •         Conectividad de Red
  •         Personalizaciones
  •         Configuración de Cliente para Outlook

 

Hardware y Software del equipo

La primera área para revisar relacionado que afecta el desempeño es el hardware y software del equipo del usuario.

-        Verificar que el equipo del usuario cuente con los requerimientos mínimos de hardware, aunque será ideal que cuente o exceda las recomendaciones.

-        Verificar que el equipo está ejecutando Internet Explorer 9 o 10, o por lo menos Internet Explorer 8.

-        Configure los ajustes de su Internet Explorer para un óptimo desempeño.

o   En Internet Explorer, en la barra de menú vaya a Tools > Internet Options > General Tab dentro del área de Browsing History, verifique que la opción Delete browsing history on exit está sin seleccionar.

 

 

o   Mientras siga en la pestaña ‘General’ de clic en Settings en el área de Browsing History

§  Seleccione ‘Automatically’ dentro de ‘Check for newer versions of stored pages’

§  Asigne el ‘Disk space to use’ a 250 MB

 

 

o   En Internet Explorer en la barra de menú seleccione en Page > Zoom > 100%

o   Deshabilite otros complementos de Internet Explorer y pruebe nuevamente contra su Línea Base. Se ha visto que algunos complementos agregan una sobrecarga adicional.

-        Revise qué otros programas se están ejecutando en el equipo.  Estos otros programas podrían estar necesitando del equipo recursos que nos ayudan con el desempeño de CRM.

-        Encuentre qué verificador de virus y paquetes de seguridad se están ejecutando en el equipo.

o   Deshabilite el escaneo en el sitio web de CRM (*.crm.dynamics.com)

o   Considere excluir archivos de directorio (folders) del escaneo, en el caso de contar con el Cliente de CRM para Outlook instalado, el cual podría ser C:\Program Files\Microsoft Dynamics CRM

-        Establezca la Configuración de Energía en el equipo del cliente para obtener un Desempeño Alto.

o   Vaya a Start > Control Panel > Power Options > Advanced Power Settings y seleccione ‘High Performance’

 

 

Conectividad de Red

La conectividad en CRM Online es probablemente una de las grandes áreas que la gente tiene en mente para contribuir con el desempeño. En muchos de los casos la conexión de red del usuario final para los servicios de CRM Online son adecuados. Qué es lo que se considera como una conexión adecuada para el servicio?

-        Ancho de Banda > 50 Kilobytes por segundo

-        Latencia < 150 milisegundos

La forma de medir estas velocidades es con la Página de Diagnósticos de CRM Online. Substituyendo el Nombre de la Organización en la URL siguiente:

-        https://<Organización>.crm.dynamics.com\tools\diagnostics\diag.aspx  

 

 

Una vez en la página damos clic sobre el botón ‘Run’ para probar el Ancho de Banda y Latencia, esto hace que el JScript presente en varias ocasiones en su equipo, las medidas de JavaScript Dom Benchmark.

 

 

Si su conexión no tiene el rango adecuado para todos los usuarios, algunos usuarios o algunas ubicaciones, comience a reducir las diferencias:

-        Priorice el tráfico de CRM en su red.

-        Si usted tiene sucursales verifique que el tráfico de CRM Online va directamente hacia internet y que no está siendo ruteado hacia la oficina principal antes de salir.

o   Si usted tiene algún Servidor Proxy o Acelerador WAN, revise su configuración.

o   Si este escanea tráfico, exclúyalo para CRM Online.

§  Estos equipos podrían estar modificando las cabeceras de los paquetes y deteniendo la compresión y uso de caché para el tráfico de CRM Online afectando el desempeño.

·        Ejecute una traza de Fiddler en el equipo del usuario para revisar si la compresión y el almacenamiento en caché está siendo usado.

·        Compresión: en la Cabecera vea si usted tiene algo como Transport: “Content-Enconding: gzip”’

-        Si no está funcionando usted verá algo como Transport: “Connection: Keep Alive”’

-        Almacenamiento en caché: en la Cabecera, vea si usted tiene algo como Caching: “Vary: Accept-Econding”’

o   Si no está funcionando el Caché mostrará “Vary:*”’

 

Personalizaciones

Las personalizaciones de una implementación de CRM Online es a menudo el área más grande que puede afectar el desempeño en donde los usuarios no se dan cuenta.

-        Primeramente establezca qué partes de CRM están lentas como lo explicamos anteriormente.

o   Vistas

§  Cuántos Campos/Columnas están en la Vista?

·        Solo ponga los campos que el usuario necesite tener.

·        Considere deshabilitar el SkipGettingRecordCountForPaging usando OrgDBSettingsTool si no es algo que los usuarios necesitan o utilizan.

·        Formularios de Registo

o   Qué está en la Forma? Cuántos campos, Subgrids e Iframes está ahí?. Cuantos más datos haya en el formulario, más tiempo tardará en recuperar y mostrar en el equipo del usuario final.

o   Se pueden utilizar las formas base para minimizar la cantidad de datos en las formas por usuario?

§  Por ejemplo, podemos tener una forma de Ventas y una forma de Servicio. Diferentes grupos de usuarios solo necesitan acceso a algunos campos, subgrids e Iframes.

§  Si el usuario no necesita ver ciertas áreas de la forma todo el tiempo, considere colapsarlas por defecto, especialmente los subgrids. De esta manera, cuando la forma sea cargada no necesitará cargar esta información inicialmente. Si el usuario necesitara verla, él podría expandir la información posteriormente.

§  Cuanto impacto tienen sus JScripts alojados en las formas?

·        Prueba deshabilitando sus eventos de OnLoad y OnSave y comparte nuevamente contra su Línea Base de tiempo.

·        Optimice sus códigos JScript.

§  Búsquedas rápidas

·        Limite el número de campos disponibles para una búsqueda rápida.

·        No incluya valores de Pick List de ser posible.

 

Cliente para Outlook

El último componente a considerar es el Cliente de CRM para Outlook. Este tiene una cantidad de configuraciones que puede impactar en el desempeño de un equipo que ejecuta el Cliente de CRM para Outlook, entre los cuales tenemos el proceso de sincronización, etiquetado de correos y algunas funcionalidades más.

-        Sincronización de Outlook

o   Evalúe los filtros que se tienen configurados. Solo sincronice la información que usted necesite tener en Outlook.

§  La configuración de filtros en Outlook está en File > CRM > Set Personal Settings > Synchronization tab > Outlook Filters. Verificar que la opción ‘Outlook Synchornization Filtersestá seleccionado de las lista desplegable. Deshabilite, agregue y actualice los filtros para controlar la sincronización de información para Outlook.

 

 

§  Establezca el programa de sincronización como larga duración para que el proceso de sincronización no esté llevándose a cabo constantemente en el equipo.

·        La programación de la sincronización se establece en Outlook yendo a File > CRM > Set Personal Options > Synchronization tab  y actualice el valor de ‘Schedule automatic synchronization with Outlook folders every

 

 

-        Address Book Provider

o   Establezca los filtros que coincida con sus contactos solamente.

§  El valor se ajusta en Outlook yendo a File > CRM > Set Personal Options > Address Book tab  y seleccione el botón de ‘Match only against contacts synchronized to Microsoft Dynamics CRM’

§  Establezca los demás registros como ‘Not Match’ u ‘Only Match Owning Records’.

·        El valor se establece en Outlook yendo a File > CRM > Set Personal Options > Synchronization tab

 

 

-        Proceso de Sincronización fuera de Línea

o   Evalúe los filtros que tiene configurados. Solo sincronice la información que usted necesita mientras está trabajando fuera de línea. Con CRM Online disponible donde sea que tenga una conexión de internet no deberían de ser muchas las veces que usted necesite trabajar con datos fuera de línea.

§  Los filtros se ajustan en Outlook yendo a File > CRM > Set Personal Options > Synchronization tab > Outlook Filters y revise que la opción ‘Offline Synchronization Filtersestá seleccionado de la lista desplegable.

 

 

§  Establezca el programa de sincronización como larga duración para que el proceso de sincronización no esté llevándose a cabo constantemente en el equipo.

·        La programación de la sincronización se establece en Outlook yendo a File > CRM > Set Personal Options > Local Data tab  y actualice el valor de Update local data everypara cada minuto, y valide que el caja de verificación esté seleccionada.

-        Vistas Fijas

o   Las vistas Fijas en Outlook ocupan memoria en el equipo del cliente. Usted podrá disminuirla siguiendo los siguientes pasos

§  Desabilitar MAPI Caching Reg Key

·        Esto a su vez bajará los datos de caché local de SQL.

-        Consultas de etiquetado de correos

o   Reduzca estas consultas ajustando la Configuración del Sistema dentro de la propia aplicación de CRM Online en donde se puede controlar que tan frecuente se ejecutan estas consultas

§  Esta opción está configurada en CRM > Settings > Administrations > System Settings > Outlook tab

·        Desmarque la opción ‘Perform checks as new e-mail is received’

·        Actualice la opción ‘Promote Incoming e-mail every’ para una larga duración.

 

 

En esta publicación sobre el Desempeño de CRM Online existe un gran número de puntos a considerar, los cuales son igualmente importantes y podrían afectar a los clientes de varias formas. A medida que se realicen los cambios sugeridos en esta publicación podremos ir viendo pequeñas mejoras en el desempeño de la aplicación, lo cual se traduce en una mejora notable para los usuarios finales.

Recuerden que cualquier duda o comentario estoy a sus órdenes,

 

Andrés Guzmán