Gestión del performance en Salesforce
Gestión del performance en Salesforce
Una vez que hayamos construido una base en torno a las causas utilizando las herramientas disponibles, veremos las cosas que podemos hacer para mejorar el rendimiento en la plataforma. Dado que el performance puede verse afectado por una amplia variedad de factores y, por lo tanto, se puede realizar una amplia gama de actividades para mejorarlos, cubriré algunas de las técnicas de mejora del rendimiento más comunes que podemos utilizar para mejorarlo. Un aspecto muy importante de la gestión del rendimiento es asegurarse de haber probado sus aplicaciones antes de que entren en el entorno de producción.
Los temas clave que cubrire son los siguientes:
- Rendimiento de la plataforma Salesforce.
- Herramientas de rendimiento.
- Mejorando el desempeño.
Rendimiento de la plataforma Salesforce
Con el tiempo, los datos de la organización crecerán. Si estos datos en crecimiento no se administran correctamente, pueden causar problemas, incluidos problemas de rendimiento, límites de almacenamiento y baja adaptación del sistema. Una de las mejores formas de administrar los datos a largo plazo es incorporar prácticas de archivo y administración de datos como parte de cada nueva implementación. Cuando esto no se hace, las actividades de archivo y administración de datos se convierten en una idea tardía y requieren más trabajo para implementar. Esto es independientemente de factores que incluyen tener suficiente almacenamiento para los próximos años, buen rendimiento, falta de quejas de los clientes relacionadas con el rendimiento o pensar que nunca llegará a los límites.
Una buena arquitectura significa pensar con anticipación en el rendimiento y minimizar, cuando tenga sentido, el uso de los recursos disponibles. En esta sección, revisaremos por qué es importante el rendimiento y algunas de las razones más comunes que causan problemas de rendimiento. También revisaremos las herramientas relacionadas con el rendimiento y cómo ejecutar las pruebas de rendimiento en la plataforma Salesforce.
Primero intentemos comprender por qué es importante vigilar el desempeño de su organización.
Importancia del seguimiento del desempeño
- Generación de ingresos y productividad: los equipos de ventas deben vender continuamente y, para lograr ese objetivo, las organizaciones generalmente gastan cantidades significativas de capital para implementar y configurar Salesforce, por lo que se adapta a su negocio. Muchas organizaciones también invierten en herramientas de terceros, como las aplicaciones de AppExchange, para que sus equipos de ventas sean lo más eficaces posible. Además de la tecnología, las organizaciones dedican tiempo a capacitar a sus representantes de ventas para que perfeccionen sus presentaciones y presentaciones de diapositivas y les ofrezcan orientación para guiones de llamadas y una miríada de otras herramientas para ayudarlos a cerrar tratos. La tecnología y estas herramientas, junto con los procesos comerciales optimizados, dan como resultado una máquina de ventas bien engrasada. Un problema de rendimiento en Salesforce puede afectar gravemente la productividad de su equipo de ventas, lo que podría generar una pérdida de ingresos.
- Confianza: si tiene un sistema que se ralentiza con frecuencia o en el que los usuarios no pueden realizar sus actividades diarias, pronto tendrá usuarios descontentos que perderán la confianza en el sistema. Los usuarios hablan entre ellos y comparten sus experiencias y una vez que comienza a desarrollarse una tendencia negativa, no es fácil revertirla. Tener procesos y herramientas implementados para garantizar que el sistema funcione a un nivel óptimo es crucial para garantizar un retorno positivo continuo de la inversión de su organización.
- Estado del sistema: los problemas relacionados con el rendimiento generalmente apuntan a problemas subyacentes que deben revisarse y rectificarse. Si no se rectifican, estos pueden afectar otras áreas de la aplicación o aumentar el esfuerzo requerido para extender la aplicación. Por ejemplo, un informe se está ejecutando lentamente y el arquitecto, después de investigar, descubre que la organización tiene muchas reglas de uso compartido complejas. Cada vez que se ejecuta el informe, se deben evaluar las reglas de uso compartido, lo que ralentiza un informe que, de otro modo, habría funcionado bien. Otra área en la que esto podría afectar es si su cliente tiene integraciones que se ejecutan todas las noches para traer datos, por ejemplo, de un ERP. Tener reglas de uso compartido complejas puede ralentizar el proceso porque el sistema tiene que volver a calcular el acceso a los datos. Esto puede ser un problema en organizaciones globales muy grandes donde los usuarios inician sesión y usan el sistema en múltiples zonas horarias. En estas situaciones, se pueden utilizar otras técnicas para garantizar una importación de datos sin problemas y minimizar el impacto en los usuarios.
- Acuerdos de nivel de servicio (SLA): el rendimiento del sistema es importante no solo desde la perspectiva de los usuarios internos, sino también de los clientes. Sus SLA con los clientes describen los tiempos de respuesta y el nivel de servicio que el cliente puede esperar recibir. Si su organización no cumple con los requisitos, los SLA de sus clientes pueden verse afectados negativamente. Por ejemplo, en un gran concesionario de automóviles, se hace un compromiso con los clientes de que sus vehículos serán reparados dentro de un período determinado, y si se pierde ese período de tiempo, se aplica un descuento automático del 15% a toda la factura. Salesforce se utiliza para administrar órdenes de trabajo y enviar pedidos de autopartes. Supongamos que un técnico está intentando consultar las piezas para una marca y modelo específicos para poder pedirlas, pero el sistema es lento, lo que le lleva al técnico más de lo esperado pedir las piezas relevantes. Como resultado, el trabajo no se completará a tiempo y le costará ingresos a la empresa en forma del descuento del 15% que ahora tiene que ofrecer al cliente.
- Mejora continua: las organizaciones intentan competir y mantener su ventaja competitiva y utilizan diferentes técnicas para hacerlo. La supervisión proactiva de su rendimiento le permite asegurarse de que los errores cometidos en el pasado no se repitan y de que las lecciones aprendidas en el pasado se incorporen para el diseño y la construcción futuros. El resultado neto de esto es una mejora general en el servicio al cliente y una garantía para los usuarios internos de que la organización se está tomando los datos en serio y está investido de ellos.
Razones de los problemas relacionados con el rendimiento
- Tráfico de red de ocio: muchos usuarios en la actualidad llevan dispositivos que se conectan a los puntos de acceso inalámbricos de la oficina y transmiten vídeo y audio de alta definición, lo que puede provocar que el ancho de banda de la red de la oficina se limite. Una forma de mitigar esto podría ser proporcionar un punto de acceso separado para estos usuarios para que el tráfico de la red de ocio pase a través de ese punto de acceso y las aplicaciones críticas, incluido Salesforce, puedan ejecutarse en la red normal, dejando mucho ancho de banda libre. Deberá determinar una forma de evitar que los dispositivos de los usuarios accedan a la red; Por lo general, esto se puede hacer a través del filtrado de Control de acceso a medios (MAC) para que solo las direcciones MAC autorizadas puedan ingresar a la red normal. Direcciones MAC Una dirección MAC es un número de identificación único que identifica de forma exclusiva el hardware en la red. Cada MAC es única en una red y nunca dos direcciones MAC serán iguales. Esto está garantizado por la nomenclatura utilizada para las direcciones MAC, un tema fuera del alcance de este libro. Obtenga más información sobre las direcciones MAC en https://www.pcmag.com/encyclopedia/term/mac-address.
- Calidad del ancho de banda: el ancho de banda bajo puede ser un problema y sus usuarios lo notarán si intenta resolverlo, pero agregar más ancho de banda para solucionar problemas relacionados con el rendimiento no siempre dará los resultados deseados. Esto se debe a que la calidad del ancho de banda también es importante. Un aumento de algunos puntos porcentuales en la pérdida de paquetes puede afectar el rendimiento de manera notable.
- Ubicación: Salesforce tiene varios cientos de instancias a nivel mundial desde donde se ejecutan todas las organizaciones. Su proximidad con respecto a la instancia que aloja su organización también puede ser un factor en los problemas relacionados con el rendimiento. Si la distancia física es significativa y hay muchos saltos para llegar a la instancia, esto puede resultar en un rendimiento lento. Las instancias de Salesforce se distribuyen por todo el mundo en varias regiones y Salesforce asigna la organización en función de la ubicación de los usuarios. Antes de registrarse, debe consultar con su ejecutivo de cuenta si desea que su organización esté en una región donde se ubicarán la mayoría de sus usuarios, en lugar de en la región donde se ejecutará el contrato. a la cantidad de dispositivos de red por los que debe pasar un paquete para llegar al destino. Estos dispositivos de red pueden ser enrutadores, conmutadores, repetidores, etc. Cada dispositivo recibe el paquete, procesa la información que contiene y luego lo reenvía a su destino. Cada vez que un dispositivo hace eso, lleva tiempo y puede tener un impacto en el rendimiento cuando se transmiten millones de paquetes. En Windows, puede usar el comando tracert en el símbolo del sistema para ver el número de saltos. Por ejemplo, de mi computadora portátil a salesforce.com son 9 saltos. Tenga en cuenta que un recuento de saltos más bajo no significa necesariamente una conexión más rápida porque otros factores también contribuyen a la velocidad de la conexión.
- Configuración o código ineficaces: los problemas de rendimiento también pueden deberse a aplicaciones configuradas incorrectamente o códigos que no son óptimos. Estos pueden ser una pérdida masiva de recursos del sistema, lo que afecta el rendimiento. Si sigue ocurriendo un problema en una página específica de Visualforce o en un componente Lightning, querrá revisar el código y asegurarse de que sigue las mejores prácticas. Otra posibilidad es una aplicación configurada incorrectamente. Anteriormente, discutimos el ejemplo de reglas para compartir. Si hay demasiadas reglas para compartir, eso puede ralentizar los informes o las consultas de datos en general porque cada vez que se ejecuta una consulta, el sistema tiene que ejecutar las reglas para compartir para garantizar que la seguridad de los datos esté protegida de acuerdo con estas reglas.
- Paquetes de AppExchange: muchos paquetes de AppExchange agregan valor comercial a sus procesos, pero algunos de los paquetes también se comunican con los servidores ISV y pueden afectar el rendimiento. Por ejemplo, si está utilizando una solución de firma digital e instala el paquete administrado, es posible que el paquete utilice ancho de banda, lo que resultará en un rendimiento deficiente. Los administradores deben revisar y evaluar con frecuencia los paquetes administrados para asegurarse de que sigan siendo útiles y proporcionen el valor por el que se instalaron inicialmente en la organización.
- Navegadores: los héroes olvidados del mundo de la nube, los navegadores desempeñan un papel fundamental en la experiencia de los usuarios. A medida que se usa un navegador con el tiempo, acumula una gran cantidad de datos. Esto puede incluir que el navegador acumule una gran cantidad de cookies y cachés, lo que repercute en el rendimiento. También se recomienda tener los navegadores actualizados a la última versión, ya que los proveedores de navegadores están lanzando continuamente nuevos parches para corregir no solo las vulnerabilidades de seguridad, sino también para mejorar el rendimiento El uso de navegadores compatibles con Salesforce es otro factor importante. Por ejemplo, una organización estaba usando Internet Explorer 11 y seguía teniendo problemas y, por lo tanto, los usuarios comenzaron a usar Google Chrome. El problema era que cada vez que los usuarios tenían problemas con Salesforce o en general, los equipos de soporte corporativo no brindaban soporte ya que Internet Explorer 11 era el navegador corporativo compatible. rebajar seriamente el rendimiento. Esto se debe a que cada ventana y pestaña que está abierta consume memoria y ciclos de la Unidad de procesamiento central (CPU). Otro aspecto de los navegadores es la capacidad de agregar complementos y extensiones. Recomiendo deshabilitar todos los complementos y extensiones durante los diagnósticos si un usuario específico informa un problema. Esto se puede hacer fácilmente abriendo el navegador en modo incógnito o navegación privada.
- Deuda técnica: esto puede desempeñar un papel importante en la ralentización del rendimiento si no se vigila de cerca. La deuda técnica, definida de manera simple, es la deuda que usted asume cuando entrega soluciones de manera oportuna. Preste atención a la palabra deuda, que significa que debe devolverse con prontitud o exigirá el pago con intereses. La deuda técnica no es necesariamente algo malo siempre que existan procesos y herramientas para garantizar que se solucione la deuda técnica. La deuda técnica en el mundo de Salesforce incluye cualquier cosa, desde campos personalizados abandonados, procesos de flujo de trabajo, informes y disparadores, a soluciones alternativas implementadas para cumplir con los requisitos comerciales. Cuando Salesforce proporciona una solución para llenar un vacío en su solución, generalmente como parte de sus tres lanzamientos por año, o la organización decide optar por una solución de terceros o mejorar su propia solución, en muchas ocasiones, la solución anterior o alternativa. se deja como está en la organización, contribuyendo a la deuda técnica. A medida que pasa el tiempo y se acumula la deuda técnica, si no se toman medidas, los usuarios comenzarán a ver problemas de rendimiento.
- Requisitos de hardware y software: existen ciertos requisitos de hardware y software que son necesarios para que Salesforce funcione de manera óptima. Por ejemplo, se recomiendan 8 GB de RAM para ejecutar LEX. El mínimo requerido es 5 GB de RAM, pero dependiendo de la necesidad de recursos de su aplicación, los usuarios pueden experimentar problemas de rendimiento debido a los requisitos mínimos de RAM. Los problemas de rendimiento pueden deberse a que no se cumplen estos requisitos. Salesforce no impedirá que los clientes utilicen software y hardware no compatibles, por lo que esto también debe comprobarse para descartar posibles problemas de hardware y software desde el principio del proceso de diagnóstico.
- Topologías de red: algunos clientes, debido a la naturaleza de su negocio, pueden tener requisitos muy estrictos en cuanto a las direcciones de Protocolo de Internet (IP) desde las que se puede acceder a su organización de Salesforce. A veces, requerirán que sus usuarios inicien sesión en Salesforce a través de una VPN (Red Privada Virtual) y eso puede causar retrasos en el tráfico de la red porque toda la comunicación tiene que ser canalizada a través de la VPN.
- Límites de API: casi todas las organizaciones de Salesforce tienen algún tipo de paquete de AppExchange instalado o integración con otro sistema. Para organizaciones más grandes, a veces puede haber decenas de paquetes de AppExchange instalados junto con muchas otras integraciones. Todas las integraciones y algunos de los paquetes de AppExchange, según de qué se trate la aplicación, utilizan llamadas a API. Dado que Salesforce impone límites para garantizar la calidad para otros clientes en la instancia, existen límites para estas llamadas. Alcanzar los límites significa que debe esperar a que pasen 24 horas (el período después del cual se restablecen los límites) o comprar llamadas API adicionales de Salesforce. La interrupción causada por los límites de API es un problema grave, ya que puede afectar las actividades directas de generación de ingresos o el servicio al cliente. Por ejemplo, si su herramienta de automatización de marketing no puede comunicarse con Salesforce, entonces cualquier cliente potencial de alto valor que ingrese a la herramienta no puede transferirse a Salesforce.Límites del gobernador Los paquetes administrados certificados son paquetes administrados que han pasado la revisión de seguridad de AppExchange. Tienen su propio conjunto de límites reguladores además de los límites de la organización del cliente. Por ejemplo, el límite de DML por transacción en la organización del cliente es 150; un paquete gestionado certificado obtendrá su propio límite de 150 LMD por transacción. Consulte la sección Límites de paquetes gestionados certificados por transacción en este enlace: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm.
Herramientas de rendimiento (performance)
- Sufijos de URL Esta es una técnica para ver los tiempos de carga de su página para LEX. Se hace agregando? EptVisible = 1 al final de la URL.
- Speedtest, esta es una prueba para medir el rendimiento y proporciona diferentes métricas para medir la velocidad de JavaScript (JS) y la velocidad de conexión a los servidores de Salesforce. Para usar esto, simplemente agregue /speedtest.jsp a la URL mientras está conectado a su organización.
- Salesforce Optimizer: Esta es una herramienta gratuita de Salesforce que se puede ejecutar como un informe PDF o como una aplicación y proporciona detalles sobre un montón de métricas que cubren el uso, los campos no utilizados, el código personalizado, los informes y los paneles. La herramienta no solo analiza y resalta las áreas problemáticas en su organización, sino que también hace recomendaciones sobre cómo resolver esos problemas. También proporciona una estimación del esfuerzo de rectificar cada problema que se analiza, junto con recursos adicionales si profundiza en el elemento. El informe o la aplicación se pueden ejecutar desde la configuración buscando Optimizador. Prefiero ejecutar la aplicación, ya que cubre más funciones que el informe y proporciona una función de clasificación con la que puede ordenar la vista de lista. Salesforce recomienda ejecutar este informe o aplicación con una cadencia regular. Esto puede permitirle detectar problemas antes de que se materialicen.
- Salesforce Shield’s event monitoring: Salesforce Shield es un conjunto de herramientas de seguridad que proporciona una capa adicional de seguridad y gobernanza en Salesforce. Una de las herramientas se llama Monitoreo de eventos en tiempo real, que brinda acceso a datos en tiempo real sobre el rendimiento y otras métricas, como los datos de seguridad y uso en la plataforma. Event Monitoring es una herramienta solo de API, lo que significa que se puede acceder a ella a través de la API, y el objeto clave de la herramienta es EventLogFile. Esto significa que los datos se pueden importar fácilmente a herramientas de monitoreo de aplicaciones como Analytics o Splunk para un consumo más fácil. Puede utilizar la aplicación de navegador Salesforce Event Log File (ELF) (https://salesforce-elf.herokuapp.com/?_ga=2.82989334.1271813283.1614356382-1891424622.1607399861) para acceder y descargar archivos de registro de eventos. Luego, los datos se pueden visualizar utilizando la herramienta que elija para la visualización de datos.
- Salesforce Page Optimizer: Esta es una herramienta diseñada específicamente para monitorear el desempeño de las comunidades de Salesforce. Se proporciona como un complemento para Google Chrome y proporciona información procesable sobre el rendimiento de la página. Discutiremos esto con más detalle más adelante.
- Salesforce Lightning Inspector: Esta es otra extensión de Google Chrome que ayuda a diagnosticar cuellos de botella en el rendimiento. Se puede usar para inspeccionar diferentes aspectos de una aplicación, como eventos que se activaron y detalles de almacenamiento del lado del cliente. La pestaña Rendimiento muestra detalles de cuánto tardan los componentes en ejecutarse y dónde se encuentran los posibles cuellos de botella.
- Informes de Salesforce: Salesforce tiene herramientas e informes listos para usar que se pueden usar para monitorear los límites en las llamadas a la API. Establecimos anteriormente que los límites de API pueden crear problemas graves para las aplicaciones críticas para el negocio que dependen de sistemas externos a través de integraciones o paquetes de AppExchange.
- Fuera de la caja, puede usar la página Descripción general del sistema, que muestra las llamadas a la API de las últimas 24 horas. También debe considerar configurar notificaciones de uso de API que envíen un correo electrónico cada x número de horas cuando el uso de API alcance un cierto umbral. El sistema sigue enviando correos electrónicos hasta que el uso de la API desciende por debajo del umbral especificado:
- Query Plan tool: Esto se utiliza para acceder a planes de consulta para consultas, informes y vistas de lista de Structured Object Query Language (SOQL) y Salesforce Object Search Language (SOSL) para optimizar su rendimiento. Este es un recurso valioso a su disposición que puede utilizar para evitar problemas de manera proactiva o descartar rápidamente las consultas SOQL como causa de problemas de rendimiento. Se accede a la herramienta Query Plan desde Developer Console y ayuda a ajustar las consultas SOQL. Puede utilizar la herramienta para comprender los diferentes planes de consulta y si el Optimizador de consultas utilizará sus filtros de consulta indexados o si realizará un análisis completo de la tabla.
Mejorando el desempeño (performance)
- Almacenamiento en caché del navegador: Esta es una configuración simple de la interfaz de usuario que puede mejorar significativamente el rendimiento de la página al evitar llamadas adicionales al servidor al almacenar en caché de forma segura los datos utilizados con más frecuencia en el cliente, es decir, un navegador. Esta configuración está activada de forma predeterminada y Salesforce desaconseja desactivarla. Algunas excepciones a esto incluyen situaciones en las que la política de seguridad de la empresa no permite el almacenamiento en caché de datos seguros y en cajas de arena cuando desea ver inmediatamente los efectos de su configuración o cambios de código sin vaciar la caché.
- Uso de un CDN: Una red de entrega de contenido (CDN) es una colección de infraestructura basada en servidor que acelera el rendimiento de los sitios web. Cuando se carga un sitio web, las imágenes y otro contenido alojado en el sitio web también se cargan. Si accede al sitio web desde un continente diferente al lugar donde está alojado el sitio web, verá latencia y una respuesta retrasada en comparación con un usuario ubicado dentro de la misma ciudad o región que el alojamiento web. Con una CDN, el contenido se copia en servidores a través de la CDN, que luego sirve desde la ubicación más cercana al cliente que visita el sitio web. Esto ayuda a reducir los tiempos de respuesta al cliente y proporciona una excelente experiencia al cliente. En Salesforce, el contenido estático del marco del componente Lightning y otras aplicaciones se proporciona desde los servidores CDN de Akamai ubicados en todo el mundo. Esto da como resultado tiempos de carga de aplicaciones mejorados como activos estáticos, incluidos archivos de imagen, CSS (hojas de estilo en cascada), JS y archivos de fuentes, y otras bibliotecas se almacenan en caché y se sirven al usuario desde la ubicación CDN más adecuada. El uso de una CDN no almacena en caché ningún metadato o datos en su organización.
- Problemas de red: Una vez que haya ejecutado algunos comandos básicos como traceroute o ping y note algo que requiere más investigación, involucre a su equipo de redes de inmediato para realizar una investigación más profunda. No se demore en involucrar a su equipo si ha pasado por todo lo relacionado con Salesforce y ha descartado el hecho de que un problema relacionado con Salesforce está causando problemas de rendimiento porque eso retrasará el proceso de resolución de incidentes. El equipo de redes necesitará tiempo, ya que no tendrá respuestas de inmediato y tendrá que solucionar el problema por su parte, y solo una vez que haya encontrado la causa raíz, podrá comenzar el proceso de reparación.
- Skinny tables: Las uniones de tablas de bases de datos son operaciones costosas. Dependiendo de la complejidad de la consulta, puede llevar una cantidad considerable de tiempo y recursos de la base de datos para devolver los resultados. Si tiene tal situación, el uso de tablas delgadas puede ayudar a acelerar el rendimiento. Las Skinny tables son tablas especiales creadas por Salesforce a las que se accede con frecuencia a los campos. Todos los campos estándar se almacenan en una tabla, mientras que todos los campos personalizados se almacenan en otra tabla. Por ejemplo, si tiene campos personalizados en el objeto Cuenta, estos se almacenan en una tabla diferente y cuando ejecuta un informe que contiene esos campos personalizados, Salesforce tiene que unirse detrás de escena y devolver los resultados. Cuando se usa una Skinny table, los campos estándar y personalizados que se usan con frecuencia se almacenan en la tabla para eliminar la necesidad de uniones costosas. A medida que los datos cambian en las tablas de origen, la tabla delgada se mantiene actualizada automáticamente sin requerir ninguna intervención del cliente. Otra ventaja de usar Skinny tables es que la plataforma usará automáticamente la Skinny table en informes y vistas de lista, entre otros, mejorando así el rendimiento general para los usuarios.
- Registros eliminados en la papelera de reciclaje: Esto parece muy inocuo, pero los registros eliminados pueden desempeñar un papel importante en el impacto del rendimiento. La razón es que cuando simplemente elimina registros de la interfaz de usuario o mediante una API, se marcan para su eliminación suave, lo que significa que se mueven a la Papelera de reciclaje y se mantienen allí durante 15 días o hasta que se alcanza el límite de tamaño. Cuando ejecuta una consulta, existe una sobrecarga asociada al filtrar los registros eliminados temporalmente, lo que provoca problemas de rendimiento. Asegúrese de no tener una gran cantidad de registros eliminados temporalmente, lo que se puede hacer fácilmente asegurándose de que la papelera de reciclaje se vacíe con frecuencia, ya sea desde la interfaz de usuario o utilizando la API Bulk, que tiene una opción de eliminación permanente que elimina registros de forma permanente de la base de datos. Tenga en cuenta que esta opción no mueve los registros a la papelera de reciclaje, así que úsela con cuidado.
- Archivar: Asegúrese de que el archivo de datos sea un componente de todos los proyectos que tratan con datos (¿cuántos proyectos hay que no los tienen?) En lugar de una ocurrencia tardía una vez que comience a tener problemas. Las organizaciones que tienen años y años de datos en la base de datos pueden causar problemas importantes de rendimiento. Imagínese consultar un objeto que tiene 500,000 registros y que la base de datos tenga que ejecutar un escaneo completo de la tabla para obtener unos pocos miles de registros. Hay varias formas de archivar sus datos, desde la creación de su propia solución personalizada utilizando la API Bulk hasta el uso de Heroku o la implementación de una solución AppExchange lista para usar. La herramienta que utilice dependerá de su negocio y de los requisitos normativos. Lo importante es comprender que no todos los datos son iguales, y querrá analizar y categorizar cuidadosamente sus datos e implementar soluciones para cumplir con sus requisitos. Por ejemplo, una pequeña empresa de software puede no encontrar útil mantener registros de cotizaciones que tengan más de 3 años, mientras que un proveedor de seguros de salud fuertemente regulado puede estar obligado a mantener registros de pacientes durante un mínimo de 7 años.
- Lazy loading: Esta es una función que se utiliza en las páginas de Visualforce para acelerar el rendimiento y, si todavía usa Visualforce, puede considerar implementarla. La idea es que la página primero cargue características esenciales para que el usuario pueda empezar a interactuar con ella, retrasando el resto hasta que el usuario realice una acción, como hacer clic en un botón, o hasta que haya pasado un breve período, y luego el resto de la página. está cargado. Otro aspecto de la mejora del rendimiento es permitir la carga separada de listas relacionadas en la página. Esta es una configuración de nivel de interfaz de usuario que permite a los usuarios interactuar con la página mientras las listas relacionadas aún se están cargando. Esto permite al usuario interactuar con la página hasta que se hayan cargado todos los componentes, incluidas las listas relacionadas, de las cuales a veces puede haber una gran cantidad, especialmente en la página Cuenta. Esto se debe a que el objeto Cuenta es un objeto clave en Salesforce y una gran cantidad de objetos suelen tener una búsqueda o una relación padre-hijo con él.
- Funciones estándar en Visualforce: Intente utilizar las funciones estándar tanto como sea posible, a menos que haya pensado en los pros y los contras de cada enfoque y el enfoque personalizado resulte ser mejor. Por ejemplo, es posible que desee utilizar jQuery con fines de paginación en su página de Visualforce, pero cuando se carga la página, llevará tiempo consultar los datos y presentarlos en la página, mientras que utilizar la opción de paginación estándar del lado del servidor podría ser más rápido, pero el procesamiento se realiza en el lado del servidor. El primero puede ser más adecuado cuando el conjunto de datos es pequeño, pero ocasionalmente puede haber un conjunto de datos grande y el usuario está feliz de esperar a que la página se cargue ocasionalmente. La opción del lado del servidor, por otro lado, es más apropiada para conjuntos de datos más grandes y cuando el rendimiento de la página es muy importante.
- Úselo para compartir clases de Apex: El código Apex, de forma predeterminada, se ejecuta en modo de sistema, lo que significa que tiene acceso a todo: puede acceder a todos los objetos y sus campos, y las reglas de seguridad y uso compartido a nivel de campo no se aplican. Asegúrese de que sus clases utilicen la palabra clave with sharing porque respeta la seguridad a nivel de campo y las reglas de uso compartido. El resultado neto de esto es que se devuelven conjuntos de resultados más pequeños, lo que puede ayudar a mejorar el rendimiento.
- Dispositivos y navegadores: Como se discutió anteriormente en este capítulo, la puntuación de Octane es una buena medida del rendimiento del navegador. Cuanto más alta sea la puntuación, mejor se espera que sea el rendimiento. Dado que la puntuación de Octane también tiene en cuenta el dispositivo del usuario, es importante confirmar que el dispositivo cumple con los requisitos mínimos requeridos para el buen funcionamiento de Salesforce. Si el dispositivo del usuario funciona con las especificaciones de hardware mínimas recomendadas, actualice el dispositivo con memoria y potencia de procesamiento adicionales.
- Páginas de Visualforce: Debe tener estándares sobre dónde se llevará a cabo la mayor parte del desarrollo, ya sea Visualforce o Lightning. Pero teniendo en cuenta que Visualforce es la interfaz de usuario más antigua y se ha realizado una gran cantidad de desarrollo personalizado en Visualforce, sugiero revisar las notas de la versión anterior y determinar si la funcionalidad personalizada proporcionada por la página de Visualforce ahora está disponible a través de la funcionalidad lista para usar. o mediante el uso de herramientas declarativas. Cuando tenga que resolver un problema relacionado con el rendimiento de forma inmediata para una página de Visualforce, le sugiero que revise el estado de la vista. View State es una cadena encriptada que almacena una colección de valores que incluyen valores de campo, estado del controlador y estado de los componentes en un elemento de formulario oculto. Los estados de vista muy grandes requieren una gran cantidad de tiempo de procesamiento porque la cadena debe ser serializada / deserializada y cifrada / descifrada según el tipo de solicitud.
Comentarios
Publicar un comentario