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

  • 相关阅读:
    JavaScript判断系统语言
    微信静默授权
    vue-cli3 一直运行 /sockjs-node/info?t= 解决方案
    promise 链式
    js unicode转中文 方案概述联网LED照明方案可执行全部的DALI 和
    Taro -- 文字左右滚动公告效果
    JS删除对象中的某一属性(delete)
    Taro -- 微信小程序密码弹窗
    Taro -- 微信小程序wxParse达到html转换wxml
    Taro -- 微信小程序登录
  • 原文地址:https://www.cnblogs.com/dubing/p/2087025.html
Copyright © 2011-2022 走看看