小编use*_*957的帖子

require('os').cpus().length 返回 24 .... 无法理解怎么办?

我有一个具有以下配置的 Windows 桌面:Intel Xeon(R) CPU E5645 @2.40GHz(2 个处理器),
具有 24 GB RAM 和 64 位操作系统

当我运行以下代码时。

var cpuCount = require('os').cpus().length;
Run Code Online (Sandbox Code Playgroud)

它返回 cpuCount 为 24

有人可以解释一下这到底是什么意思吗?它如何确定我有 24 个 CPU 而只有 2 个处理器。

concurrent-programming node.js

4
推荐指数
1
解决办法
5918
查看次数

涉及 HTTP 调用的 Node.js 性能优化

我有一个 Node.js 应用程序,它打开一个文件,扫描每一行,并为每一行进行涉及 Couchbase 的 REST 调用。一个文件的平均行数约为 12 至 1300 万行。目前,无需任何特殊设置,我的应用程序可以在大约 24 分钟内完全处理大约 100 万条记录。我浏览了很多问题、文章和 Node 文档,但找不到有关以下内容的任何信息:

  1. 节点可以同时打开 X 个 http 连接/套接字的设置在哪里?我可以改变它吗?
  2. 我必须规范文件处理,因为文件读取比 REST 调用快得多,所以一段时间后,打开的 REST 请求太多,它会阻塞系统并耗尽内存......所以现在我读取 1000 行等待让 REST 调用完成这些任务,然后恢复它(我正在使用流上的暂停和恢复方法来执行此操作)是否有更好的替代方案?
  3. 我可以执行什么所有可能的优化,以便它变得比这更快。我知道与 gc 相关的配置可以防止应用程序频繁停止。
  4. 是否推荐使用“集群”模块?它能无缝运行吗?

背景:我们有一个现有的 java 应用程序,它通过生成 100 个线程来执行完全相同的操作,并且它能够实现比当前节点对应物稍好的吞吐量。但我想尝试节点,因为有问题的两个操作(读取文件并为每一行进行 REST 调用)对于节点应用程序来说似乎是完美的情况,因为它们都可以在节点中异步,而 Java 应用程序会阻止对这些操作的调用。 ..

任何帮助将不胜感激...

rest performance multithreading node.js

2
推荐指数
1
解决办法
4063
查看次数