我是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
。