- 2
- 0
- 约5.11千字
- 约 8页
- 2021-11-15 发布于湖南
- 举报
Web服务端功能提升实践
对于Web服务端功能,首先我们分析一下相关目标。从用户角度讲,用户调用Web服务时,恳求前往时间越短,用户体验越好。从服务端角度讲,同一时间能承载用户恳求量越大,服务端功能就越强。综合两方面,我们总结功能优化的两个方向:
1. 添加服务端所能支撑并发恳求的最大数量;
2. 提高每个恳求处理速度。
明确了优化方向,首先引见一种服务端通常的架构模式,即来自扫瞄器或者App的Web一个恳求,在服务端经过哪几层结构被处理并前往的。
架构模式:IP负载均衡-缓存服务器-反向代理-应用服务器-数据库
如图1所示,为了说明便利,我们来举个实际的例子: LVS(Keepalived)-Squid-nginx-Go-MySQL
图1:服务端架构
我们对恳求在每层做分发处理,这样可以使下一级结构有多个分支同时工作,来提高总体的最大并发数。
结合架构,我们来分析通常有哪些问题在拖了功能的后腿,以及找出对应的处理方法。
正常情况下,IP负载均衡,缓存服务器和nginx代理这几层次要是集群稳定性问题。简约消灭功能瓶颈的地方往往是应用服务器层和数据库层,我们下面来列举几个例子:
1. 堵塞的影响
(1)问题:
大部分Web恳求都是堵塞性质的,当一个恳求被处理时,进程就会被挂起(占用CPU)直至恳求完成。在大多数情况下,Web恳求完成的足够快,所以这个问题并不被关注。然而,对于那些响应
原创力文档

文档评论(0)