J'ai une application Node déployée sur AWS Fargate avec la configuration de tâche 1 vCPU/2GB de mémoire. Je me suis demandé quel est le comportement de Node.js lorsqu'il est exécuté sur cette configuration en fonction des vCPU disponibles.
Selon les documents d'AWS, le vCPU est juste un hyperthread sur un cœur de CPU Intel Xeon : Que signifient réellement les vCPU dans Fargate ? . Alors, comment libuv fait-il fonctionner le threadpool (qui par défaut fait tourner 4 threads) si l'ensemble du programme ne tourne que sur un vCPU qui est déjà lui-même un hyperthread ? De plus, comment le programme Node se comporte-t-il sur une configuration fonctionnant sur une configuration inférieure avec un vCPU 0.256 ?
En outre, Fargate gère automatiquement la mise à l'échelle en exécutant le nombre de tâches spécifié dans la configuration ; mais que se passerait-il si je décidais d'utiliser quelque chose comme PM2 pour exécuter plusieurs processus Node dans chaque tâche ? Cela ne fonctionnerait-il pas vraiment puisque je fonctionne sur 1 vCPU ?