博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nodejs高性能服务架构:cluster模式+Nginx多进程模式
阅读量:6402 次
发布时间:2019-06-23

本文共 825 字,大约阅读时间需要 2 分钟。

Nodejs和Nginx都是轻量级,高性能服务器的代表,而Nodejs站点的标准配置就是在Nodejs服务器上架一层Nginx反向代理,两种轻量级高性能的服务器组合在一起产生什么样的火花呢?往下看。

为什么要在Nodejs上加Nginx反向代理,原因归纳如下:

  1. 用Nginx来做静态资源的反向代理,减少Nodejs的压力;

  2. Nginx自带日志功能,可以没必要Nodejs去处理这个问题了

  3. Nginx用来做负载均衡,增加横向扩展性

  4. 假如一台服务器多个Nodejs站点,或则一个域名下挂多个站点或不同中语言的站点。有个反向代理都可以处理。

加了Nginx做反向代理是否对网站性能有影响?答案是有影响,但咱有方案:Nginx多进程+Nodejs Cluster

做个测试,那10000次连接,1000并发来测试。

在nodejs的fork模式的速度是

Nodejs高性能服务架构:cluster模式+Nginx多进程模式

nginx 单进程+nodejs fork:基本看上去就慢很多了。

Nodejs高性能服务架构:cluster模式+Nginx多进程模式

nginx 3进程+nodejs fork:这个跟不用反向代理的速度差不多

Nodejs高性能服务架构:cluster模式+Nginx多进程模式

nodejs cluster(3)比fork模式稍微快一点.

Nodejs高性能服务架构:cluster模式+Nginx多进程模式

nginx+nodejs cluster(3)

Nodejs高性能服务架构:cluster模式+Nginx多进程模式

nginx 3进程+nodejs cluster(3)

Nodejs高性能服务架构:cluster模式+Nginx多进程模式

 

  无反向代理 nginx单进程 nginx多进程(3个)
nodejs fork 1.341 6.545 1.332
nodejs cluster(3个) 1.041 3.259 1.026

 

结论:

  1. nginx作为反向代理,如果不开启多进程的情况下,还是会对性能有影响。

  2. nodejs开启cluster模式比fork还是要快。

  3. nginx开启多进程的情况下,几乎可以不影响性能,还可能提升部分性能。

 

* 以上测试在centos 6.5上完成,单机。

 

原文地址:

转载于:https://www.cnblogs.com/hongcaomao/articles/nodejs-cluster.html

你可能感兴趣的文章
Fastjson 的 Set类型和 WriteClassName 选项引起的BUG
查看>>
翻译: 星球生成 II
查看>>
IOS 多线程
查看>>
python序列化数据本地存放
查看>>
#CCNA#IP地址、子网划分参考资料网址
查看>>
比较不错的图片上传插件
查看>>
判偶不判奇
查看>>
Sequelize 数据库的支持
查看>>
BigDecimal类的加减乘除
查看>>
断断续续的HTML5&CSS3学习记录
查看>>
lighttpd中实现每天一个访问日志文件
查看>>
node.js发送邮件email
查看>>
查看nginx配置文件路径的方法
查看>>
接口性能调优方案探索
查看>>
kali安装包或更新时提示“E: Sub-process /usr/bin/dpkg return”
查看>>
网站管理后台模板 Charisma
查看>>
EL:empty的用法
查看>>
Saltstack配置之 nodegroups
查看>>
Servlet和JSP优化经验总结
查看>>
squid使用rotate轮询(分割)日志
查看>>