Tag: 性能

网站在第一次运行时运行速度较慢?

我有一个由Node.js构build的网站。 第一次在任何浏览器中运行网站时,与下一次运行相比,速度非常慢。 那么如何解决上面的情况呢?

jmeter:NoHttpResponseException:目标服务器无法响应

我有一个应用程序在nodejs,我正在testing成千上万的用户。 对于1000个用户(当服务器部署在本地时),对于大多数testing用例来说,Jmeter失败了: org.apache.http.NoHttpResponseException: The target server failed to respond at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:95) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:61) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254) at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289) at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252) at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191) at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.receiveResponseHeader(MeasuringConnectionManager.java:201) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127) at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:517) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:331) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1135) at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261) at java.lang.Thread.run(Thread.java:745) 有时候,我也会这样做: java.net.SocketException: Connection reset […]

性能问题之前有多less个并发setTimeout?

我有一个node.js应用程序,在任何给定的时间运行10k-100k并发setTimeouts。 (他们都是5分钟的时间。)callback是相当微不足道的,只是在redis中的HDECRBY。 我还没有遇到任何性能问题,即使在t2.micro的情况下。 我知道,如果callback函数无法像setTimeout(显然)那样快地执行,我会遇到问题,但是本身具有大量setTimeouts的问题呢? 比如,如果我把这个比例扩展到100万个并发数据库,​​我是否会遇到内存瓶颈? 千万?

更高效/更聪明的方式,以特定的方式对multidimensional array进行分组/压缩

我有一个多维的数组,我不知道它的大小,我知道的是每个孩子将有相同的长度和相同的结构。 我需要连接第一个孩子的内部数组与同胞的内部数组,所以所有孩子相同的索引内部数组在一个数组中。 (如果有人想说得更好一些,或者改进标题,那就成为我的客人吧) 例: let arrays = [ //1 [[1, 2], [3, 4], [5, 6]], //2 [[10, 20], [30, 40], [50, 60]], //3 [[100, 200], [300, 400], [500, 600]], //N [[10000, 20000], [30000, 40000], [50000, 60000]], ]; 预期结果: [ [1, 2, 10, 20, 100, 200, 10000, 20000], [3, 4, 30, 40, 300, 400, 30000, 40000], […]

如何加速node.js文件操作?

在我的项目中,客户端会请求从服务器下载一个带有ID的文件。 我必须执行以下操作: 从mongoDbvalidationID 检查扩展名 检查文件是否存在 阅读文件并将内容写入回复 我正在使用下面的代码来检查文件并发送响应。 fs.exists(filename, function(exists) { if (!exists) { res.writeHead(404, '', { "Content-Type" : "text/plain" }) res.write("404 Not Found\n"); res.end(); return; } fs.readFile(filename, "binary", function(err, file) { if (err) { res.writeHead(500, '', { "Content-Type" : "text/plain" }) res.write(err + "\n"); res.end(); return; } res.setHeader("Pragma", "public"); res.setHeader("Cache-Control: private, max-age=3600"); res.setHeader("Transfer-Encoding: chunked"); res.setHeader("Range: […]

在请求过程中节点js的性能

考虑这个代码: var http = require("http"); http.createServer(function(request, response) { for (var i = 0; i < 1000000; i++) { console.log("Request received"); } response.writeHead(200, { "Content-Type": "text/plain" }); response.write("Hello World"); response.end(); }).listen(8888, "127.0.0.1"); 如果我们运行这个代码,我们应该等待很多分钟也得到response.But如果运行一个没有console.log("Request received"); 在一个我们得到高速响应? 为什么?

在node.js中的编码风格

样式1: 具有构造函数/原型的对象 function DB(url) { this.url = url; } DB.prototype.info = function (callback) { http.get(this.url + '/info', callback); }; 样式2: closures function DB(url) { return { info: async.apply(http.get, url + '/info') }; } 这只是一个例子,假设涉及更多的原型方法和私有方法。 我已经在post1和2中看到,闭包风格在nodejs中比其他更受欢迎。 请帮我澄清为什么在nodejs中使用this.something语法不好。 你可以给出你的意见,哪一个更好,但我最需要知道什么是在nodejs中使用每种风格的优点和缺点 。

有什么更好的:创build一个新的variables或赋值给一个对象字段?

我想知道什么会更快执行。 我想有一个临时variables,将用于一些函数内的一些计算。 attacker和defender对象将在以后使用,其中创build的所有东西都应该被删除。 首先,我有一个创build临时dmgvariables的方法来存储attacker和defender的损害。 var dmg; dmg.attacker = 10; dmg.defender = 10; var battle = function (dmg, attacker, defender) { //Some calculations using dmg.attacker and dmg.defender. } 第二种方法是,我在里面存储attacke和defender dmg 。 如果程序的其他部分在dmg被删除之前捕获attacker/defender对象,则不会有任何问题。 attacker.dmg = 10; defender.dmg = 10; var battle = function (attacker, defender) { //Some calculations using attacker.dmg and defender.dmg. delete attacker.dmg; delete defender.dmg; } […]

在Node js中使用'require'来获得更好的性能

我在我的控制器中使用了很多依赖项。 这是一个很好的build议,使用下面的东西略微提高性能:(即延迟加载控制器) app.use(route.get('/test', function(){ c = require('./testcontroller') c.method(); }) ); app.use(route.get('/test2', function(){ c2 = require('./testcontroller2') c2.method(); }) ); 而不是常见的方法: c = require('./testcontroller') c2 = require('./testcontroller2') //all other controllers app.use(route.get('/test', c.method) app.use(route.get('/test2', c2.method)

socket.io可以处理多less个房间?

我正在使用socket.io构build一个应用程序 我正在使用socket.io的房间function,有5个“主题”用户可以订阅。 在该主题中广播的每个消息都具有消息types,其中有100个。用户将只接收它们允许接收的types的消息,该消息可以在30到70之间。 我的问题是:为每个话题+消息types组合创build一个空间是可行的,这个组合将是5×100个房间? 请问socket.io的性能如何,还是有更好的方法来解决这个问题? 将单个消息发送到每个单独的套接字,而不是使用房间,会更好? 谢谢你的帮助。