NodeJs 性能提升方案

ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ(人的一生是短暂的,但如果卑劣的度过这一生,就太长了 - 莎士比亚)
ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ在这里插入图片描述

  • 提高性能
    • node自身
      • 多用promise并行处理io,或者其他的第三方异步io库,比如async,bluebird
      • 减少同步代码,多使用异步
      • 使用typescript,虽然开发成本提高了,但性能会提升。因为动态类型的代码,v8虚拟机在运行的时候会反复的执行优化,如果不更改类型,那么就不会触发v8虚拟机的反优化。也是一个提高性能的手段
      • 使用多进程,充分利用CPU的多核机制。提高处理非IO类业务的性能
    • 数据库
      • 热点数据使用缓存,比如redis
      • 数据库分库分表,减小库和表的数据大小,提高检索性能。数据量的减少意味着检索范围也会缩小,从而提升了性能
      • 数据库表添加索引,对热点字段建立索引,提高检索性能。数据库性能提升的主要方式之一
      • sql优化
        • 比如mongodb数据库,避免使用" n e " , " ne"," ne""exist","$not"等字段,这些字段在查询时不会使用索引,所以检索性能较差
        • 限制返回的结果数,比如limit。当结果数过多时,会降低性能
        • 表字段内容不要过大,比如几m,几十m的那种。过大的字段会在保存和查询的时候降低性能
    • 数据库集群 以mongodb为例
      • 使用副本集,读写分离,提高检索性能
      • 当数据量达到千万,亿级别时可以使用分片。副本集虽然读写分离,但数据的存储并没有分离。mongodb的分片解决了这个问题,相比较副本集,一个副本存储了所有数据库,但分片等于一个副本的数据分别存储到数十个,数百个分片中。查询的时候,同时从这些分片中进行查询,将查询的性能又提高了一个档次
  • 提高质量

    • 使用typescript,集成eslint,避免使用any,提前检查错误,减少bug出现率
    • 审查代码,每次代码版本测试/发布前进行审查,及时对有问题的代码进行优化和修复
    • 核心代码编写注释,方便后期维护和二次开发
    • 抽象通用组件,提高代码复用性,减少冗余代码
    • 编写测试单元,发版前运行测试单元
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值