转载

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

一、业务场景

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

二、问题分析

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

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

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

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

三、解决方案

1>第一阶段

缓存试卷内容

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

2>第二阶段

压缩回传内容

效果回馈:快!

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

1、前台代码

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

2、后台代码

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

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

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

5、压缩前效果

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

6、压缩后效果

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

五、说明

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

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

六、Demo下载

source code

正文到此结束
Loading...