zoukankan      html  css  js  c++  java
  • 针对web高并发量的处理

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

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

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

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

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

    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.还有很多 .....

  • 相关阅读:
    November 07th, 2017 Week 45th Tuesday
    November 06th, 2017 Week 45th Monday
    November 05th, 2017 Week 45th Sunday
    November 04th, 2017 Week 44th Saturday
    November 03rd, 2017 Week 44th Friday
    Asp.net core 学习笔记 ( Area and Feature folder structure 文件结构 )
    图片方向 image orientation Exif
    Asp.net core 学习笔记 ( Router 路由 )
    Asp.net core 学习笔记 ( Configuration 配置 )
    qrcode render 二维码扫描读取
  • 原文地址:https://www.cnblogs.com/dubing/p/2087025.html
Copyright © 2011-2022 走看看