【发布时间】:2013-06-30 16:40:22
【问题描述】:
我正在编写一个应用程序,它会爬取一长串链接、下载页面、使用 xpath 查询 搜索 html 元素并存储一些检索到 mysql 数据库中的信息。我使用多线程解决方案来充分利用我的服务器并消除延迟的影响。
我使用 csharp 和 java 编写大部分应用程序,而我使用 asp.net/c# 编写 Web 应用程序。
我想问的是,从性能的角度来看,Node.js 是否值得考虑?考虑到吞吐量是最重要的因素。 Node.js 更便携和跨平台是另一个原因,但性能对我来说更重要。
【问题讨论】:
-
我最初的想法是,是的 - 节点对于这类任务值得考虑。节点的最大卖点是性能。它实际上是为处理并发而设计的——即使它是单线程的。我在 C# 中完成了多线程,这是一场噩梦。
-
它使用使用线程池实现的call_back。我不确定它是单线程的。我认为它是多线程的,因为回调是由线程池执行的;你仍然不需要明确地使它并发。
标签: c# performance node.js web web-crawler