位置: 编程技术 - 正文

提高Node.js性能的应用技巧分享(nodejs 性能优化)

编辑:rootadmin

推荐整理分享提高Node.js性能的应用技巧分享(nodejs 性能优化),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs 性能优化,node. js教程,node.js怎么升级,nodejs 性能优化,node.js 性能,nodejs 性能优化,nodejs性能调优,nodejs性能调优,内容如对您有帮助,希望把文章链接给更多的朋友!

一、实现一个反向代理服务器

相比大多数应用服务器,Node.js 可以很轻松的处理大量的网络流量,但这并不是 Node.js 的设计初衷。

如果你有一个高流量的站点,提高性能的第一步是在你的 Node.js 前面放一个反向代理服务器。这可以保护你的 Node.js 服务器免于直接暴露在网络中,而且可以允许你灵活的使用多个应用服务器做负载均衡和静态文件缓存。

使用 NGINX 在一个已经存在的服务器前做反向代理,作为 NGINX 的一个核心应用,已经被用于全世界成千上万的站点中。

下面是使用 NGINX 作为反向代理服务器的优点:

简化了权限处理和端口分配

更高效的处理静态资源

更好的处理 Node.js 崩溃情况

缓解 DoS 攻击的影响

注:这篇文章解释如何在 Ubuntu . 或者 CentOS 环境中使用 NGINX 做反向代理服务器,而且使用 NGINX 在 Node.js 前做反向代理服务器是有效的。

二、缓存静态文件

随着流量的增长,以 Node 为基础的服务器开始显现压力。这时,你可能想做两件事:

使用更多的 Node.js 服务器。

在多个服务器间做负载均衡

这其实很简单,NGINX 一开始就是作为反向代理服务器来实现的,这使其很容易做缓存和负载均衡等。

Modulus 的网站有一篇有用的文章,介绍了使用 NGINX 做 Node.js 反向代理服务器的性能提升。只使用 Node.js 时,作者的网站每秒能处理 个请求。 使用 NGINX 作为反向代理服务器来处理静态文件后,该网站每秒可处理超过 个请求,接近两倍的性能提升。

提高Node.js性能的应用技巧分享(nodejs 性能优化)

下面是该网站做上述性能提升的配置代码:

三、实现 Node.js 负载均衡

最终目标— Node.js 运行多个应用服务器,并在这些服务器之间均衡负载。

Node.js 实现负载均衡是比较困难的,因为 Node.js 允许浏览器端 JavaScript 和 服务器端 Node.js 通过 json 做数据交互,这就意味着同一个客户端可以反复的访问一个特定的应用服务器,而且多个应用服务器之间共享 session也是比较困难的。

NGINX 实现无状态负载均衡的方式:

Round Robin. 新的请求去列表中的下一个服务器

Least Connections. 新的请求去连接数最少的服务器

IP Hash. 根据客户端 IP 的 hash 值指定服务器

只有 IP Hash 这一种能够可靠的把客户端请求代理到同一台服务器的方式才能使 Node.js 应用服务器受益。

四、代理 WebSocket 连接

所有版本的 HTTP 都是为客户端主动请求服务器来设计的,而 WebSocket 可以实现服务器主动向客户端的消息推送。

WebSocket 协议使客户端和服务器端的稳定交互更加简单,同时也提供更小的交互延迟。当你需要一个全双工的通讯,即客户端和服务器都可以在需要时主动发起消息请求,那么使用 WebSocket 就对了。

WebSocket 协议有健全的 JavaScript 接口,因此也原生适合用 Node.js 作为应用服务器。当连接数上升,使用 NGINX 在客户端和 Node.js 服务器端做代理来缓存静态文件和负载均衡就变得非常有意义。

五、实现 SSL/TLS 和 HTTP/2

越来越多的网站使用 SSL/TLS 来保证信息交互的安全性,你也可以考虑是否要把它加入到你的网站中,但如果你决定要做,那么 NGINX 有两种方式来支持它:

你可以使用 NGINX 做 SSL/TLS 反向代理,Node.js 服务器使用解密后的请求然后返回未加密的内容给 NGINX。

使用 HTTP/2 可以抵消 SSL/TLS 带来的性能开销,NGINX 支持 HTTP/2, 所以你可以同时使用 HTTP/2 和 SSL 代理请求,而你的 Node.js 服务器不需要做任何更改。

在实现阶段你需要更新 Node.js 配置文件中的 URL, 在你的 NGINX 配置文件中使用 SPDY 或者 HTTP/2 优化连接。添加 HTTP/2 支持意味着支持 HTTP/2 的浏览器可以使用新的协议和你的应用交互,而老的浏览器继续使用 HTTP/1.x。

express框架实现基于Websocket建立的简易聊天室 最近想写点有意思的,所以整了个这个简单的不太美观的小玩意首先你得确认你的电脑装了node,然后就可以按照步骤搞事情了~~1.建立一个文件夹2.清空

Node.js服务器开启Gzip压缩教程 Gzip是什么复制大神们的解释吧:GZIP最早由Jean-loupGailly和MarkAdler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP

node中使用es5/6以及支持性与性能对比 前言这几年react、vue的快速发展,越来越多的前端开始讲es6的代码运用在项目中,因为我们可以通过babel进行转译为低版本的js以便于运行在所有浏览器

标签: nodejs 性能优化

本文链接地址:https://www.jiuchutong.com/biancheng/380923.html 转载请保留说明!

上一篇:Windows下快速搭建NodeJS本地服务器的步骤(怎么快速启动win10)

下一篇:express框架实现基于Websocket建立的简易聊天室(express框架作用)

  • 小规模纳税人起征点和免征额
  • 定额税改为查账征收,可以弥补上年度亏损吗
  • 印花税需要每月缴纳吗
  • 缴纳个税会计分录是什么
  • 合伙开有限公司注销流程
  • 发票没用完可以申请超限量吗
  • 嵌入式软件运行的主要流程是什么
  • 固定资产减值必有损益吗
  • 安置残疾人就业税收优惠政策
  • 结转税金需要附件吗
  • 企业生产设备发生的日常维修费用
  • 一般企业和行政事业单位的资产负债表是否一样
  • 职工的大病医保怎么报销
  • 培训费可以抵扣企业所得税
  • 接受捐赠收入要计入企业所得税应纳税所得额吗
  • 税控盘服务费抵税会计分录
  • 给单位员工报销电话费怎么做账务处理
  • 转让投资性房地产收到售价款
  • 打开游戏时总是出现需要新应用打开此MS
  • 资产预测怎么写
  • 如何使用腾讯电子签维护自己的权益
  • bios设置网卡开启
  • win10打开游戏老是提示
  • 合伙企业财产清算顺序
  • 百货商场会计账怎么做
  • macOS Catalina10.15.2值得升级吗 macOS Catalina10.15.2更新了什么
  • window10玩吃鸡总崩溃
  • PHP:getallheaders()的用法_Apache函数
  • 长期借款和应付利息
  • phpstorm ftp
  • 最轻薄数码相机
  • 分公司改为子公司的所得税业务处理?
  • 其他应收款借贷方表示什么意思
  • MySQL中distinct与group by之间的性能进行比较
  • sql获取第一条记录的内容
  • python skewness
  • 技术使用费 收费标准
  • 百旺金赋怎么开红字发票
  • 发票开9个点
  • 小规模免征增值税到什么时间止
  • 新开立银行账户怎么办理
  • 彩票扣税吗
  • 出口货物质量不足怎么办
  • 怎么解释税收
  • 未分配利润的
  • 小额零星支出是什么意思
  • 发生的销货退回费用应计入
  • 什么是四大行业
  • 劳务费需要通过应付职工薪酬科目核算吗
  • 商业企业费用科目
  • mysql group_concat()函数用法总结
  • win10 tab alt
  • xp系统和2003系统的异同
  • SmartExplorer.exe - SmartExplorer进程是什么意思
  • 在Linux系统中安装虚拟window
  • ubuntu on xorg
  • iconv.exe
  • 不用第三方软件获取鼠标坐标
  • centos硬件配置
  • window8设置ip
  • linux图形界面与命令行
  • win7系统怎么创建虚拟网络
  • win70
  • win10桌面上怎么分成几个区域
  • windows 7如何连接
  • JavaScript中的变量名不区分大小写
  • python ssh 远程执行命令
  • [置顶]电影名字《收件人不详》
  • 传智播客javappt
  • 用Fragment+ViewPager搭建万能的android界面
  • jq 使用
  • java中的多态性
  • python socketcan
  • email js
  • jquery原理和实现步骤
  • 全年上缴个人所得税多少
  • 高速公路过路费一公里多少钱
  • 我国现行税法体系中采用多次课征的税种是
  • 上海市嘉定区税务局电话号码
  • 天津静海离天津市区多远
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设