Node.js与传统Web技术在非CPU密集型系统中的应用比较与研究

来源 :湖北大学 | 被引量 : 0次 | 上传用户:wosxty
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网的飞速发展,Web应用的种类越来越多,非CPU密集型系统也扮演着越来越重要的角色,如广泛使用的社交媒体,各种直播平台等。这些应用的特点都是强调用户交互的高实时性和高并发量,它们通常有大量的并发用户和大量的图片上传、下载等IO操作,对Web服务器的性能要求非常苛刻。而传统的Web开发技术通常使用基于Ajax的轮询机制定时获取数据实现实时交互,用多线程编程、使用多核服务器、增加服务器数量来提高系统的并发量,这无疑会增加成本投入,并且没有从源头解决问题。Nodejs摒弃了传统的Web技术多线程编程思想,采用单线程异步非阻塞IO,为非CPU密集型的高实时任务提供了良好的解决方案,它在Google V8引擎的基础上封装一些通用接口,使得JavaScript能在服务器端高效运行。论文首先分析在Web应用中的CPU密集型和非CPU密集型操作的区别,然后介绍Node.js及其扩展的常用组件,以及Node.js在CPU密集型和非CPU密集型系统中的应用,并在此基础上基于Node.js技术设计实现了一个社交系统。为了提高该系统中在线用户列表的快速查找等操作的执行效率,论文采用拓普利兹矩阵实现全域散列算法来得到均匀性良好的Hash表来实现。为了方便比较Node.js与传统Web技术在非CPU密集型系统中的差异,选择Java Web技术设计实现社交系统的在线聊天和图片管理模块作为比较对象,最后对这两种技术下系统的性能进行测试分析。测试结果表明,基于Node.js的Socket.IO实现的在线聊天模块系统,其响应实时性远远优于Ajax轮询方式的实现,并且随着并发用户量的增加,Nodejs下的服务器内存占用增加率缓慢,而基于Java Web技术下的服务器内存占用率急剧增加直至宕机。因此,在非CPU密集型系统中,Node.js比传统的Web技术能够更好地发挥服务器性能。
其他文献
语言作为一门交际工具的同时,其较强的人文性也使得语文学科在培养学生情感和人格方面具有独特的优势。传统作文教学较为注重作文方法技能的训练,而忽视学生的情感培养,造成
分析了ATM网络的特点,研究和介绍了ATM网络的各种恢复技术,并讨论了ATM网络恢复规划技术。
利用各种实测和计算的气象资料,对陕西省商洛地区2000年6月1~3日出现历史罕见的久旱转暴雨过程进行了详细的分析,结果表明:这次久旱转暴雨过程既与东亚大槽减弱,西太平洋副热
从抽取样品和制备试样、检验方法、环境条件、人为因素、测量误差等方面阐述影响检验结果准确度的几个因素.
HiVi惠威X3HT超级家庭影院系统以其卓越的设计理念结合惠威电声工程师的深厚研发实力打造而成,一经发布便马上成为市场上最瞩目耀眼的璀璨明星,惠威X3HT通过了世界上最严格的TH
因知识产权损害赔偿评估性质的不明,导致了知识产权损害赔偿评估法律关系主体混乱。因此,将知识产权损害评估在性质上界定为司法鉴定更符合民事诉讼法的精神,并应以此为基础,
本文介绍一种新型的表面粗糙度测量仪,该具有精度高,便于携带,适应面广等特点。本文分析了该测量仪的测量原理,同时给出了该测量仪的电路结构,工作过程和技术指标。
《南诏奉圣乐》是由南诏王异牟寻进献于唐王朝的一部大型歌舞作品。在音乐史学及民族音乐学等学科视域范围下,通过对《南诏奉圣乐》本体、乐学乐律、音乐交流、乐器使用、政
新材料、新工艺和生物工程技术在纺织业的应用,使家用纺织品和衣着类产品具备了全新的功能。保健纺织品更以其独特的功能,越来越引起消费者的瞩目,战为纺织品中的“明星”产
本文针对目前市场上少年装短缺的现象,指出少年期的体型特征与服装设计的特色,呼吁服装企业重视少年装的设计,为中学生着装打造一片新的天地.