实用篇!Asp.Net数据传输压缩

一、业务场景

  公司关键业务模块之一考试系统试卷内容加载缓慢、加载失败,前方人员哀声四起,客户投诉,各种爆炸!

 

二、问题分析

   1、试卷存储采用文本文件方式存储

     引发问题:并发情况下IO频繁,造成过多的线程等待,致使Load越来越高。

   2、试卷内容一次性加载,内容偏大(400k+)

     引发问题:请求响应完成之后数据下载时间长,大大降低了系统吞吐量。

 

三、解决方案

  1>第一阶段

      缓存试卷内容

    效果回馈:基本解决了试卷加载失败问题,试卷加载依旧缓慢。

  2>第二阶段

      压缩回传内容

    效果回馈:快!

 

四、基于第二阶段的代码片段及效果展示 

   1、前台代码

   

   2、后台代码

   

  3、关键代码(压缩文件)

  

  5、压缩前效果

  

  6、压缩后效果

  

 

五、说明

   1、出于一些原因不能重构代码

   2、demo演示要部署到远程服务器,本地测试看不出效果(本地下载时间毫秒级)

 

六、Demo下载

  source code

posted @ 2015-12-17 11:04  Dupont  阅读(2309)  评论(8编辑  收藏  举报