Overview
Realizar pruebas de carga consiste en simular las solicitudes que los usuarios realizarán en tu aplicación una vez que esté en producción. El objetivo es medir el rendimiento e identificar y resolver problemas antes de que le ocurran a un usuario real.
Estrategia recomendada
Use the Node.js SDK to simulate a common single user's workload for your mobile app. For example, you can use the SDK to:
Abra un número determinado de reinos sincronizados.
Realice cierta cantidad de guardados en los reinos sincronizados.
Simulate backend server calls (for example, by calling Atlas Functions).
The exact details of the simulation depend on your app's actual workload. For instance, you might open realms that already have initialized sync data on the server side to simulate read use cases. You might open different realms to simulate write workloads. These realms might be a mix of shared or private per-user realms depending on your use case. You can use a shared realm to test the conflict resolution speed and discover any problems. So, consider how you use Realm Database in your actual app to design your simulation.
Nota
El SDK de Node.js utiliza la misma base de datos C++ subyacente y el mismo cliente de sincronización que los SDK para dispositivos móviles (iOS, Android, .NET, etc.). Por lo tanto, puede ejecutar las mismas rutas de código que en su aplicación móvil de producción, a la vez que se beneficia del entorno de servidor headless de Node.js.
Luego, puede implementar la simulación de usuario único en cientos o miles de nodos simultáneos para probar una carga de trabajo multiusuario real. Por ejemplo:
Empaqueta la aplicación en un contenedor Docker.
Deploy the container as part of a Kubernetes job.
Adjust the parameters of the job to match it to a real production workload.
Mide el tiempo que tarda en completarse la tarea de Kubernetes para calcular el rendimiento general.
There are a variety of cloud-based Kubernetes-as-a-service offerings that you can use.