En mi aplicación tengo el cliente en una carpeta y el servidor en otra. Implementé con éxito la aplicación en las aplicaciones web de Azure, esto se puede encontrar en: https://wulfdevpage.azurewebsites.net/ Sin embargo, la página tarda casi 15 segundos en responder y representar al cliente (esta es solo la reacción básica -cliente de la aplicación por ahora, pero lo desarrollaré más pronto). Mi problema es simplemente que el servidor tarda mucho en responder con la aplicación.
aquí está mi estructura de carpetas
--client - build // - (other parts of the react app) --server - [other folders, like controllers, models etc.] - server.js //entry point en mi archivo server.js , así es como se sirve la carpeta de compilación.
// Set static folder const __dirname = path.resolve(); app.use(express.static(path.join(__dirname, "public"))); if (process.env.NODE_ENV === "production") { app.use(express.static(path.join(__dirname, "/client/build"))); app.get("*", (req, res) => res.sendFile(path.resolve(__dirname, "client", "build", "index.html")) ); } else { app.get("/", (req, res) => { res.send("API is running..."); }); } Esto funciona, pero de nuevo, toma casi 15 segundos desde la solicitud inicial hasta que el cliente llega a mi computadora para que esto funcione. Sé que una solución simple sería simplemente mover el cliente a algo así como azure static web apps pero realmente no quiero seguir esta ruta, prefiero mantenerlas todas en un solo lugar por conveniencia. Simplemente debe haber una forma más rápida de atender al cliente.
La causa principal del problema de rendimiento de la carga inicial es agregar demasiados componentes en un solo archivo de paquete, por lo que lleva más tiempo cargar esos archivos de paquete. Para evitar este tipo de problema, necesitamos estructurar nuestros componentes de forma optimizada.
Para resolver esto, la reacción en sí tiene una solución nativa, que es la división de código y la carga diferida . Lo que permite dividir los archivos del paquete en un tamaño más pequeño. Consulte aquí
El problema de rendimiento se solucionó con algunos cambios de configuración. Si aún no lo ha hecho, verifique a continuación una vez
Habilitar HTTP/2
HTTP/2 trae cambios importantes a nuestro protocolo web favorito, y muchos de los cambios apuntan a mejorar el rendimiento y reducir la latencia en la web. 
Desactivar la cookie de enrutamiento de solicitud de aplicación
Desactive la cookie de enrutamiento en la hoja Configuración para mejorar el rendimiento y la resistencia.

Mantenga el servicio de aplicaciones siempre activo
Para evitar el apagado inactivo, puede configurar el indicador Siempre activo en la hoja Configuración de App Service. 
Usar caché local
En Configuración de la aplicación, cree la aplicación con una clave de WEBSITE_LOCAL_CACHE_OPTION y un valor de Siempre. Luego tendrá la carpeta ad:\home que apunta a un caché local en la máquina y se completa con una copia del contenido de su sitio.

Use el diagnóstico de App Service para obtener más detalles sobre el problema
Consulte aquí para más información