码迷,mamicode.com
首页 > Web开发 > 详细

NodeJS静态文件访问性能测试

时间:2017-03-19 17:12:18      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:源文件   images   rip   技术   http服务器   分享   命令   cache   部分   

受益于JavaScript语言优秀特点,使NodeJS开发服务端应用很方便,配合NPM官方提供的大量第三方组件,让NodeJS更加如虎添翼。最近,需要使用NodeJS做一个服务端HTML5的游戏服务器,应用实现包含两大部分:一部分做HTTP服务器为客户端发送html、image、javascript等游戏资源文件;另一部分使用了socket.io实时响应玩家的操作。技术实现并不困难,但要实现一个轻量、稳定、流畅的HTTP静态文件服务器,还是需要花些心思的。

本文笔者对现有一些HTTP服务器的实现方式做了调查,并整理了各方式的性能、稳定性测试报告,汇总如下:

标题:NodeJS静态文件访问性能测试

使用两台服务器:浪潮和联想,浪潮服务器非常普通;联想那台配置高点(双CPU,16G内存),用来并发模拟大量客户端请求;

两台服务器都安装了CentOS7发行版的Linux系统,模拟客户端使用Webbench工具;

测试命令:webbench -c XXX -t 15 http://localhost:8000/index.html(XXX为模拟的客户端数量;15为测试时长;index.html的内容只有一句话,另加载两个png图片)

技术分享

结论:

可以看到使用最常用的NodeJS文件加载方法readFile直接加载静态文件发送给客户端的稳定性在客户端请求数增加到5000时已经出现请求失败,服务器变得很不稳定;使用第三方组件filecache虽然稳定性还可以,但性能上表现不行;只有使用NodeJS原生方法createReadStream().pipe()在性能和稳定性上表现都较好。值得大家参考

NodeJS静态文件访问性能测试

标签:源文件   images   rip   技术   http服务器   分享   命令   cache   部分   

原文地址:http://www.cnblogs.com/andy65007/p/6580761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!