Node.js(express)终端日志真的慢吗?如何运行围攻



我是Node.js的新手,正在尝试解决一些问题:

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

2.)我也在想如何让围攻发挥作用,我在航站楼的mac上。使用npm安装节点围攻。但我不知道该怎么办。

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

$ siege -c10 -t1M http://localhost:3000,但它没有任何作用。有什么提示我该怎么做才能攻城?

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

1)同步代码

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

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

最有可能的情况是,您正在向一个不想响应的数据库发送请求,或者在慢速网络上执行HTTP请求,甚至可能是其他需要大量IO的东西,而console.log()在完成后才会排队。

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

2)node-siege

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

最新更新