我正在编写一个应用程序,它会爬取一长串链接、下载页面、使用xpath 查询搜索 html 元素并将一些检索到的信息存储在 mysql 数据库中。我使用多线程解决方案来充分利用我的服务器并消除延迟的影响。
我使用 csharp 和 java 编写大部分应用程序,而我使用 asp.net/c# 编写的 Web 应用程序。
我想问的是,从性能的角度来看,Node.js 是否值得考虑?考虑到吞吐量是最重要的因素。Node.js 更便携和跨平台是另一个原因,但性能对我来说更重要。
我正在编写一个应用程序,它会爬取一长串链接、下载页面、使用xpath 查询搜索 html 元素并将一些检索到的信息存储在 mysql 数据库中。我使用多线程解决方案来充分利用我的服务器并消除延迟的影响。
我使用 csharp 和 java 编写大部分应用程序,而我使用 asp.net/c# 编写的 Web 应用程序。
我想问的是,从性能的角度来看,Node.js 是否值得考虑?考虑到吞吐量是最重要的因素。Node.js 更便携和跨平台是另一个原因,但性能对我来说更重要。
我认为您的应用程序的瓶颈在于网络(HTTP 或 MySQL),而不是代码。
向上或向下,Node.js 是单线程的,基于消息队列,当所有“消息”完成时,它退出。每个 I/O 都在线程池上等待(除非您使用同步方法,不鼓励这样做)。
你的情况有几件事:
我已经在 Node.js 上编写了一些简单的网络爬虫,并且肯定会建议您尝试一下。