你的位置:首页 > ASP.net教程

[ASP.net教程]总结概括对于大数据、高并发的网站如何进行优化的问题


对于大数据、高并发的网站,如何进行优化?我这里作出一个概括性的总结,以后慢慢细化与完善,可能存在不全或有误的地方,欢迎大家一起交流,谢谢!

服务器端:

1.采用缓存或分布式缓存技术,针对不经常变动的数据进行缓存,降低请求数据库的频率;

2.针对耗时的处理采用异步/并行技术来提高服务器的可用并发量;

3.利用WEB SERVICE,WCF,WEB API等技术实现分布式业务逻辑处理及数据访问的能力;

4.运用合理的设计模式及架构,提高代码的利用率(如:DDD,SOA,AOP,DI);

数据库端:(参考我之前文章:关于SQL SERVER高并发解决方案)

1.数据库读写分离,可采用数据库同步技术,实现一个可写数据库,多个镜像只读数据库;

2.数据库表按读写或使用频率进行横向或纵向切割表,同时建立表分区,将不同的数据存储在不同的物理位置,以降低磁盘的IO读写;

3.SQL查询语句优化(包括索引,查询条件,查询字段,过滤条件,存储过程,事务隔离级别等);

 

WEB前端:

1.压缩网页各类代码(HTML,CSS,JS);

2.采用多台服务器分别部署网页、静态资源(图片,文件等);

3.采用JS异步加载,图片延迟加载技术;

4.尽可能的减少JS文件数据,且将JS文件放到网页底部;

5.采用图片合成技术,将多个图标合成一个大图,以降低请求数量;

6.采用图片拼接技术,将大图利用第三方软件(如:PS)切成多个小图,以降低服务端响应时间;

7.采用AJAX异步请求技术,实现局部请求服务器资源,以降低请求与响应时间;

8.其它前端优化技术(比如:利用HTML5的本地网页缓存技术,DNS 预解析技术);

 

硬件(不是很懂):

1.提升服务器内存,硬盘等核心硬件性能;

2.实现服务器集群与虚拟化(参考:集群与虚拟化);