针对web高并发量的处理

简介:

针对高并发量的处理 一个老生常谈的话题了 至于需要运维支持的那些cdn、负载均衡神马的就不赘述了 你们都懂的

虫子在此博文只讲一些从程序角度出发的一些不错的解决方案。 至于从数据库角度的性能方案、虫子另开博文。

1. 首推静态化 推荐指数五颗星 满星五颗

只要是大型互联网应用基本上离不开这个概念,IIS自带的伪静态化不谈,但是想做好静态化并不是一个容易的过程 动态和静态之间的取舍需要用一个平衡的战略眼光来看待

举个例子 当初在盛大游戏的时候 遭遇永恒之塔aion上线,悲摧、血泪,周末过去加班,目的、论坛必须抗住压力。好吧,让我重构整个论坛是不可能了,怎么整,静态化。如何静态化,全站!!!忽悠、大忽悠,爬网爬整个论坛么,非也。说是全站、其实也就是首页、版面页、热门板块的前20页等,开多个线程一起跑、担心线程资源问题就copy下程序,复制下来改个参数开多个进程跑。静态站完成了、然后怎么办,用户怎么互动。亮点来了,其实我们是6台动态站、1台静态站,因为大部分用户只看看不说话,所以我们以静态站为入口,如果用户产生互动 我们就把他们甩到动态站去。oh yeah,似乎也没那么复杂。至于一般的互联网应用其实一般首页静态化就足够了。 

2.异步请求

关于ajax一般不是新手的话都已经很了解了,Asynchronous JavaScript and XML。大多数人可能把ajax看成是提供用户体验的方案。实际上ajax对于减轻服务器压力也是很有帮助的。ajax在服务端返回来的仅仅只是浏览器端需要的数据,比如你的select,返回的是仅需要一串json而不会返回一大堆多余的html标签。这样能减轻网络负载。增大网络吞吐率。

目前虫子的东家,在大型B2B站点上这个方案用的尤为出色。

3.并行计算

虫子以前的博文中介绍过cuda并行框架,现在微软4.0也已经提出了并行计算。不过还没深入研究,当然并不是一个站点的所有模块都适合并行计算,仅限于查询、行为分析等。

4.缓存什么就不多扯了

5.文本存储

对于一些常用的资源可以在站点启动初,就形成固化资源、定时维护。例如web安全的规则文件。

6.动静分离

图片资源、css、视频的等等静态资源切换到独立服务器。

7.用户引导

社会学方案,哈哈

8.减少session的使用 你们也懂的 不多说

9.无关安全的计算可以放在客户端

例如层级跳转、用户调查中根据前文选择的后续命题选择等等 可以用js实现

10.还有很多 .....

 

本文转自 熬夜的虫子  51CTO博客,原文链接:http://blog.51cto.com/dubing/712422


相关文章
|
4月前
|
存储 SQL 缓存
高并发web系统的设计
高并发web系统的设计
|
前端开发 Java Spring
高并发场景下的Web异步任务WebAsyncTask
高并发场景下的Web异步任务WebAsyncTask
192 0
|
弹性计算 缓存 负载均衡
云上高并发Web架构最佳实践
本文介绍云上高并发Web架构模型,以Wordpress应用为例,阐述云产品选择及架构部署、基础资源监控、应用实时监控、性能测试、应用防护的最佳实践。
云上高并发Web架构最佳实践
|
弹性计算 负载均衡 算法
nginx处理web应用负载均衡问题以保证高并发(四)
在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件、硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中web服务器前面一层最常用的的添加负载方案就是使用nginx实现负载均衡。
1201 0
|
前端开发 JavaScript Java
SpringBoot实现Java高并发秒杀系统之Web层开发(三)
SpringBoot实现Java高并发秒杀系统之Web层开发(三) 接着上一篇文章:SpringBoot实现Java高并发之Service层开发,今天我们开始讲SpringBoot实现Java高并发秒杀系统之Web层开发。
6103 0
|
Web App开发 前端开发 Java
Java高并发秒杀Api-web 层
章节目录 前端交互设计 Restful Spring MVC理论 整合配置MVC框架 bootstrap+jquery 福利彩蛋 前端交互设计 前端交互设计 详情页流程逻辑 Restful接口 什么是Restful Res...
1163 0
|
应用服务中间件 PHP nginx