nodejs优化点

作者: black白先森 | 来源:发表于2018-03-20 21:28 被阅读20次
    CACHE

    对于长时间不变的配置信息或者token之类的信息,
    我们没必要每次都去请求,最直接的就是放在内存中但是有大小限制和丢失的风险,
    放在session里,会话已结束全挂了。推荐使用redis等缓存服务器;

    if(getredis(key)){
      callback(value)
    }else{
      getAPi(function(err,data){
      callback(data)
      });
    }
    
    SESSION

    session中不适合存储太多的数据,因为express是默认保存在内存中的,会导致服务器压力大太,所以建议寸关键字断,比如我们用户登陆信息的openid,而非全保存

    GZIP

    express 中间件compression,可以方便的实现 gzip 压缩,当浏览器请求某些资源的时候,服务器会在响应返回给浏览器之前进行压缩。如果你使用的是 gzip 压缩你的静态资源,浏览器拿到它们花很少的时间,用户得到数据的速度更快,带来更好的用户体验。

    var compression = require('compression');
    app.use(compression()); //use compression 
    app.use(express.static(path.join(__dirname, 'public')));
    
    
    PM2

    使用pm2 cluster模式,充分利用cpu多核,建立简单的负载,提升服务吞吐量,但要注意session不能用内存,必须要用redis等服务器端缓存
    真正的负载均衡,配合pm2,完美解决服务压力问题

    相关文章

      网友评论

        本文标题:nodejs优化点

        本文链接:https://www.haomeiwen.com/subject/eqdiqftx.html