基于Node的Web应用产品化性能提升

来源 :科学与财富 | 被引量 : 0次 | 上传用户:sincerity01
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:当前基于Node的Web应用得到了广泛的关注和应用,但这类应用增长速度之快,導致的产品化性能问题往往容易被忽视。本文主要通过动静分离、启用缓存、多进程架构、读写分离四个方面来说明如何针对基于Node的Web应用作性能提升。
  关键词:Node;产品化;性能优化
  1 引言
  对于基于Node的Web应用而言,最直接有效的提升性能的方法莫过于动静分离、启用缓存、多进程架构和读写分离。一般地,提升性能遵循的原则可以拆分为:做专一的事;让擅长的工具做擅长的事情;将模型简化;将风险分离。
  2 性能提升方法
  2.1 动静分离
  在普通的Web应用中,Node尽管也能通过中间件来实现静态文件服务,但是Node处理静态文件的能力并不算突出。因此,在Node应用中通常是将发往服务器的请求分为两种:一种是动态服务请求,一种是静态文件请求。将动态服务请求和静态文件请求分离后,Node服务器可以专注在动态服务方面,而对于图片、脚本、样式表和多媒体等静态文件都引导到专业的静态文件服务器上,如Nginx或者专业的CDN,由它们来处理这个过程,就符合了“让擅长的工具做擅长的事情”这一原则。同时,专业的CDN会将静态文件与用户尽可能地靠近,并能够提供更精确和高效的缓存机制。静态文件请求分离后,对静态请求使用不同的域名或多个域名还能消除掉不必要的Cookie传输和浏览器对下载线程数的限制。
  静态文件请求和动态服务请求分离只是最简单的分离,也比较容易实现。事实上还有更复杂的情况,比如一个网页中同时存在动态数据和静态内容,在Node中将内容发送至客户端时需要进行字符串到Buffer的转换,但是对于静态内容而言无须进行字符串层级的替换,只要保留成Buffer即可。直接进行Buffer传输可以很大程度上提升性能。是故能够在动态内容中再将动态内容和静态内容分离,还能进一步提升性能,但这种程度上的控制没有普适性,需要较多的细节处理。
  2.2 启用缓存
  提升性能其实差不多只有两个途径,一是提升服务的速度,二是避免不必要的计算。前者提升的性能在海量流量面前终有瓶颈,但后者却能够在访问量越大时收益越多。避免不必要的计算,应用场景最多的就是缓存。
  尽管同步I/O在CPU等待时浪费的时间较为严重,但是在缓存的帮助下,却能够消减同步I/O带来的时间浪费。但不管是同步I/O还是异步I/O,避免不必要的计算这条原则如果遵循得较好,性能提升是显著的。
  如今,Redis或Memcached几乎是Web应用的标准配置。如果产品需要应对巨大的流量,启用缓存并应用好它,是突破系统性能瓶颈的关键。
  2.3 多进程架构
  通过多进程架构,不仅可以充分利用多核CPU,更是可以建立机制让Node进程更加健壮,以保障Web应用持续服务。由于Node是通过自由模块构建HTTP服务器的,不像大多数服务器端技术那样有专有的Web容器,所以需要开发者自己处理多进程的管理。不过在官方已经有cluster模块,在社区也有pm、forever、pm2这样的模块用于进程管理。
  2.4 读写分离
  除了动静分离外,另一个较为重要的分离是读写分离,这主要针对数據库而言。就任意数据库而言,读取的速度远远高于写入的速度。而某些数据库在写入时为了保证数据一致性,会进行锁表操作,这同时会影响到读取的速度。某些系统为了提升性能,通常会进行数据库的读写分离,将数据库进行主从设计,主数据库提供写操作,从数据库提供读操作,这样读数据操作不再受到写入的影响,有效地减轻了数据库的压力,也能减轻io压力。
  3 总结
  通过本文描述的这些提升性能的方式,能帮助优化基于Node的Web应用,使得应用更加高效、健壮。
其他文献
摘要:隐喻建立在“相似性”的基础上,涉及到不同域之间的映射,而换喻是以“邻近性”为基础,通常发生在同一域内。 着眼于汉韩惯用语的隐喻和换喻形成机制的不同,本文以中韩两国语言中与人的“手”有关的惯用语为研究对象,参考并运用来考夫和约翰逊的隐喻与换喻理论,对惯用语认知机制进行了对比分析,找出其生成和理解的异同点。从而加深对中韩两国语言文化的概念和认识。  关键词:隐喻;换喻;认知;惯用语;手部  1.
期刊
摘要:本研究在对我国当前企业发展过程中的全面财务风险管理现状的基础上探讨了风险管理的定义以及企业在面对各种财务风险时的对策。在风险管理中,财务风险管理是最重要的一环,构建全面财务风险管理体系是企业防控风险的最重要的对策之一。  关键词:防范、财务;风险管理;体系  引言:  随着我国加入世贸组织以来,经济发展速度日益加快,各种企业如雨后春笋不断发展壮大,无论是集团型的大企业还是中小企业,在面对市场
期刊
摘要:瓦斯是与煤炭共同伴生的优质洁净能源,同时也是一种温室气体,它的危害是CO2的21倍,国际清洁能源组织把瓦斯作为主要温室气体之一,要求各国尽可能降低煤矿向大气排放瓦斯。我国多数高瓦斯矿井煤层透气性差,为了提高抽采效果,多采用高负压、大流量抽采系统,这样势必造成漏气量增加,抽采瓦斯浓度降低,达不到瓦斯利用条件。本文对低浓度瓦斯发电工艺进行了相關研究。  关键词:低浓度瓦斯发电;工艺研究  1.低
期刊
摘要:国有企业是国家经济的核心部分,财务预算管理是国有企业得以可持续发展的重要保证。本文对国有企业财务预算管理进行了简单的叙述,分别阐述了国有企业财务预算管理的含义以及管理的原则,并对国有企业经济管理中财务预算管理的必要性进行了分析,最后提出了加强国有企业财务预算管理的有效措施。  关键词:国有企业;财务预算管理;必要性;措施  引言  在经济全球化发展趋势越发明显,国内经济也呈现出迅猛发展态势之
期刊
摘要:由于我國经济快速发展的过程中,人们开始出出行方式提出较高要求,所以城市交通中发挥着不可忽视的一种交通运输就是地铁,并且也是目前陆地上比较快速的运行工具,但是在运行过程中的主要动力就是电力供应,因此要对电力保障供应进行做好,对地铁的发展起着重要作用,由于电力的有效供应不仅能对地铁运输的高效性进行保证,同时还能提高其安全性,如果出现电力供应故障的话,就会严重影响城市交通的,在一定程度上给乘客的安
期刊
摘要:随着电力系统改革的不断深入,节能、安全、优质、高效、环保等一些理念不断被应用到电力系统监管当中,主要的目标就是为了实现管理的精细化、智能化、自动化、全程化和专业化,以满足现代化发展对电力系统的需求。本文在研究的过程中,以供电局电力营销用电监察及管理为主要方向,进行纵深拓展和横向延伸,对当前工作过程中面临的主要窃电行为和电量统计中的漏洞进行总结分析,并针对性提出改进措施,提高电力营销用电监察及
期刊
摘要:从我国加入WTO之后,我国的经济水平便得到了巨大的提升,市场经济也快速发展,而相应的市场竞争也日益激烈,这对于企业来说,不仅是一次挑战,同时也是一个机遇。在当前日益激烈的市场竞争当中,怎样有效提升企业经营管理的能力已经成为现代企业必须重视且积极解决的主要问题。本文以提升企业经营管理能力的重要意义为基础,对目前企业在提升经营管理能力过程中所遇到的问题进行研究,并提出解决措施。  关键字:企业;
期刊
摘要:随着市场经济的进一步发展, 我国电力企业市场化改革的步伐逐渐加大, 在新的形势和要求下,电力企业需要进行经营理念上的转变。电力企业以电力营销为核心,而客户管理是电力营销中的核心内容。本研究从客户管理入手,介绍了什么是客户管理,以及现在客户管理所存在的问题和应对措施,解决这一课题就能进一步推动电力企业的发展。  关键词:电力营销;市场;客户管理  前言:  我国经济在最近几年得到了迅速发展,随
期刊
摘要:预算是政府运用经济技术与管理手段治国理财,对经济利益进行分配的一个政治过程。目前,预算公开在中国已取得了初步成效。但与国际上所公布的预算透明度指标仍存在着较大差距,为此,本文提出了健全相关法律法规、完善政府收支科目、健全政府预算信息公开机制、建立互动回应机制等对策建议。  关键字:政府预算透明度分析  1 引言  党的十八届三中全会在《中共中央关于全面深化改革的若干重大问题的决定》中明确提出
期刊
摘要:企业创新投资作为创新驱动经济发展的重要一环,对于改善中国经济增长方式发挥着重要作用,然而企业创新投资具有一定的异质性特征,使得其发展受到一定程度的约束,从而制约了创新投资力度的加大。随着2012年财政部和证监会联合发布公告,内部控制信息强制披露之后,企业创新投资显著增加,并且高质量内部控制对于企业创新投资及其效率具有促进效应。  关键字:内部控制;创新投资;融资约束  一、创新投资的异质性特
期刊