高并发Web服务的演变

高并发Web服务的演变——节约系统内存和CPU

坚强是说给别人听的谎言 提交于 2019-11-30 06:09:42
【导读】 徐汉彬 ,现任腾讯SNG增值产品部高级工程师,QQ会员AMS运营平台技术负责人(CGI高峰日请求5亿+),曾就职于阿里巴巴、小满科技。主要专注于Web系统的研发和架构设计工作,在大规模Web系统研发和建设领域有多年的实践经验。 一、越来越多的并发连接数 现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战。以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置。虽然现在的硬件越来越便宜,但是一味地通过增加机器来解决并发量的增长,成本是非常高昂的。结合技术优化方案,才是更有效的解决方法。 并发连接数为什么呈指数增长?实际上,从这几年的用户基数上看,这个数量并没有出现指数增长,因此它并非主要原因。主要原因,还是web变得更复杂,交互更丰富所导致的。 1. 页面元素增多,交互复杂 Web页面元素越来越多,更为丰富。更多的资源元素,意味着更多的下载请求。Web系统的交互越来越复杂,交互场景和次数也大幅增加。以“www.qq.com”的首页为例子,刷新一次,大概会有244个请求。并且,在页面打开完成之后,还会有一些定时的查询或者上报请求持续运作。 目前的Http请求,为了减少反复的创建和销毁连接行为,通常都建立长连接(Connection keep-alive)。一经建立,这个连接会被保持住一段时间,被后续请求复用。然而