Nœud.js avec socket.io et firmata sur Raspbian (modèle B) s'exécute lentement
-
21-12-2019 - |
Question
Je suis en cours d'exécution d'un modèle B (512 Mo de RAM) avec une carte SD de 16 Go de 300 Mo / S et Raspbian récent avec toutes les mises à jour.
sur cette machine, j'ai configuré un serveur Apache2, node.js avec socket.io et firmata.
Dans mon application Web, la diffusion vidéo est une fonction clé.
Lorsque j'accède à mon serveur Web pour diffuser les vidéos (sans nœud / socket.io / firmata), tout ce qui passe avec une bonne performance. Mais quand je bascule sur nœud.js / socket.io / firmata C'est plutôt lent, il faut 5-7 secondes pour commencer à diffuser les vidéos.
J'ai eu des problèmes d'installation de nœud.js en premier lieu. Nœud.js de la source compilée / installée comme un charme, mais quand j'ai essayé de l'exécuter, j'ai eu cette mystérieuse message "instruction illégale".
Comme alternative, j'ai pris les packages debian précompilés et les installées à l'aide de DPKG en utilisant ce repo:
http://revryl.com/2014/01/04/nodejs -Raspberry-PI /
Ils disent que Nodejs se déroulera plus lentement, mais ce n'est pas acceptable pour moi.
Toute astuce?
Merci et regarde!
La solution
Allerright, il est plus rapide maintenant. Pour tout le monde avec ce problème:
- Disposez Apache2 et utilisez LightPD à la place.Découvrez cette page et voyez pourquoi: http:// www.jeremymorgan.com / Blog / Programmation / Raspberry-Pi-Web-Server-Comparaison /
- Démarrer node.js via script et mettre dans /etc/rc.local sur une raison quelconque il utilise beaucoup moins de bélier et cpu quand entrer au ralenti.
- Essayez d'éviter les firmata.Si vous avez besoin de contrôler Matériel qui nécessite un câblage simple, essayez d'utiliser le "PI-GPIO".Son Beaucoup plus rapide et utilise moins de ressources.Aussi vous n'avez pas besoin de votre Arduino plus comme vous pouvez utiliser uniquement le RPI.