针对web高并发量的处理

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

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

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

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

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

2.异步请求

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

3.并行计算

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

4.缓存什么就不多扯了

5.文本存储

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

6.动静分离

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

7.用户引导

社会学方案,哈哈

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

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

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

10.还有很多 .....

针对web高并发量的处理的更多相关文章

  1. nginx性能优化(针对于高并发量仅供参考,并不是方案)

    目录 关于nginx.conf中的优化 配置nginx客户端网页缓存本地时间 nginx日志切割 nginx连接超时优化 Nginx 实现网页压缩功能 Nginx 实现防盗链功能 为目录添加访问控制 ...

  2. C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路

    C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...

  3. 手把手让你实现开源企业级web高并发解决方案(lvs+heartbeat+varnish+nginx+eAccelerator+memcached)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://freeze.blog.51cto.com/1846439/677348 此文凝聚 ...

  4. Web网站高并发量的解决方案

    摘要:   一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很简单.随着互联网业务的不断丰富,网站相 ...

  5. 一个WEB网站高并发量的解决方案

    一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很简单.随着互联网业务的不断丰富,网站相关的技术经过 ...

  6. web 高并发分析

    <高并发Web系统的设计与优化>的读后感 一口气看完了<高并发Web系统的设计与优化>,感觉受益匪浅,作者从高并发开始讨论问题,并逐步给出了非常有建设性的想法和建议,是值得我们 ...

  7. 面试官问你如何解决web高并发这样回答就好了

    所谓高并发,就是同一时间有很多流量(通常指用户)访问程序的接口.页面及其他资源,解决高并发就是当流量峰值到来时保证程序的稳定性. 我们一般用QPS(每秒查询数,又叫每秒请求数)来衡量程序的综合性能,数 ...

  8. [超简洁]EasyQ框架-应对WEB高并发业务(秒杀、抽奖)等业务

    背景介绍 这几年一直在摸索一种框架,足够简单,又能应付很多高并发高性能的需求.研究过一些框架思想如DDD DCI,也实践过CQRS框架. 但是总觉得复杂度高,门槛也高,自己学都吃力,如果团队新人更难接 ...

  9. web高并发的解决方案

    我们先了解一下什么是并发和并行 并发:并发是指两个或多个事件在同一时间间隔内发生,就是可以重叠在时间段启动,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机 ...

随机推荐

  1. Controller的创建

    在ControllerBuilder类中设置ControllerFactory,然后使用ControllerFactory创建Controller. http请求在进入httphandler映射处理时 ...

  2. Allegro padstack

    在ALLEGRO中,建立PCB封装是一件挺复杂的事,而要建立FOOTPRINT,首先要有一个PAD,所以就要新建PADSTACK. 焊盘可以分两种,表贴焊盘和通孔焊盘,表贴焊盘结构相对简单,下面首先分 ...

  3. iOS学习之单例模式

    单例模式(Singleton) 概念:整个应用或系统只能有该类的一个实例 在iOS开发我们经常碰到只需要某类一个实例的情况,最常见的莫过于对硬件参数的访问类,比如UIAccelerometer.这个类 ...

  4. Javascript的函数自调

    嗯 也不知道怎么翻译self-invoked,就当自调吧. 在看bootstrap的轮播插件源码的时候发现一种新的自调函数的写法(其实应该不新了),开头的一段就卡住了,原谅我是个菜鸟,就顺便记录一下. ...

  5. Unable to run app in Simulator

    xcode6 beta出现 “Unable to run app in Simulator” 错误提示,之前一直用着好好的,重启xcode就可以了. xcode6 beta出现 “Unable to ...

  6. nodejs入门 SSH服务器远程部署nodejs

    最近刚刚接了一个项目我也是个nodejs的初级的人 从开始吧 建立服务器  用什么ssh工具我就不说了 这个界面大家都熟悉吧 点击下面的 All download options wget http: ...

  7. 使用FlaycoBanner实现图片轮播效果(加载网络图片)

    FlaycoBanner是一个开源图片轮播框架,支持android2.2及以上: git地址:https://github.com/H07000223/FlycoBanner_Master 在andr ...

  8. Launching the Debugger Automatically

    You can set up your application to start Visual Studio when you launch the application from Windows. ...

  9. linux git 推送空文件夹

    /********************************************************************************* * linux git 推送空文件 ...

  10. 获取select标签的值

    1.设置value为pxx的项选中 $(".selector").val("pxx"); 2.设置text为pxx的项选中 $(".selector& ...