在raspbian(模型B)上使用socket.io和firmata的Node.js运行缓慢

时间:2014-04-11 09:34:14

标签: node.js socket.io raspberry-pi raspbian firmata

我正在运行Raspberry Pi Model B(512MB RAM),配备16 gB 300MB / s SD卡和最近的所有更新版本。

在这台机器上我设置了一个带有socket.io和firmata的apache2-server,node.js。

在我的网络应用程序中,视频流是一项重要功能。

当我访问我的网络服务器只是为了流式传输视频(没有node / socket.io / firmata)时,一切都流畅地表现出色。但是当我打开node.js / socket.io / firmata时它很慢,开始流式传输视频需要5-7秒。

我首先安装node.js时遇到问题。来自源码的Node.js像魅力一样被编译/安装,但是当我试图运行它时,我收到了这个神秘的“非法指令”消息。

作为替代方案,我使用预编译的debian-packages并使用此repo使用dpkg安装它们:

http://revryl.com/2014/01/04/nodejs-raspberry-pi/

他们说nodejs会运行得更慢,但这对我来说是不可接受的。

任何提示?

谢谢和问候!

1 个答案:

答案 0 :(得分:0)

好吧,现在它更快。 对于有这个问题的每个人:

  • 处理apache2并改用lighttpd。只需查看此页面,看看原因:http://www.jeremymorgan.com/blog/programming/raspberry-pi-web-server-comparison/
  • 通过脚本启动node.js 并放入/etc/rc.local出于某种原因,它使用更少的RAM 和空闲时的CPU。
  • 尽量避免使用firmata。如果你需要控制 需要简单布线的硬件,尽量使用“pi-gpio”。它的 更快,使用更少的资源。你也不需要你的arduino 因为你只能使用rpi。