0

我是 Node.js 的新手,并试图弄清楚一些事情:

1.)当我在 node.js 上运行服务器(连接到 localhost 数据库并对数据库执行插入功能)时,不确定为什么 console.log 不会出现很长一段时间。有时长达半分钟。只是想知道终端是否有延误?

2.)我也在寻找如何让围攻工作,我在终端上的 mac 上。使用 npm install node-siege。但我不知道我应该如何运行它。

我看到了一个教程,我应该先运行服务器$ node file.js然后再做

$ siege -c10 -t1M http://localhost:3000但它什么也没做。关于我应该做些什么来围攻的任何提示?

$ siege -c10 -t1M http://localhost:3000 然后我没有 siege -c10 -t1M http://localhost:3000在终端显示任何内容。

4

1 回答 1

0

1) 同步码

同步代码在完成之前不会让其他东西运行。它阻止线程做任何事情(包括服务其他请求),直到它完成。

他们是邪恶的。不要使用代码的同步变体(即fs.readFileSync除非在启动时,性能无关紧要并且可以接受。此外,通过同步执行操作,您会忘记 Node 如此快的原因之一是它异步执行操作。

很可能您正在向一个不想响应的数据库发送请求,或者在慢速网络上执行 HTTP 请求 - 或者甚至可能需要大量 IO 的其他东西,并且在console.log()完成之前排队。

或者,这只是一个回调缺陷,所以,你可能想发布一些代码,因为在我看到你的代码之前我不能肯定地告诉你。

2)node-siege

您忘记了-gor--global标签。试试这个:sudo npm install node-siege -g

于 2015-05-10T16:29:15.627 回答