当前位置: 首页 > news >正文

总结概括对于大数据、高并发的网站如何进行优化的问题

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

服务器端:

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

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

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

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

5.页面GZIP压缩,降低服务器发送的字节数;

6.启用keep-alive(IIS设置keep-alive存在问题,详见:微软IIS对http keep-alive的“霸道”处理)

数据库端:(参考我之前文章:关于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.实现服务器集群与虚拟化(参考:集群与虚拟化);

3.采用负载均衡技术;

相关文章:

  • NAT
  • javascript设计模式实践之代理模式--图片预加载
  • 数据库开发基本操作-Microsoft SQL Server Management Studio Express下载和安装
  • Extract+datapump+replicat 测试
  • Git 菜鸟变大神 (四)Github 创建远程仓库以及关联本地仓库
  • Flash移动开发的一本好书AndroidIOS
  • ::before和::after 常见的用法
  • 跟我一起学习C++虚函数--第二篇
  • MySQL优化order by导致的 using filesort
  • 管理日志-原创理论工具--技能方格图
  • objective-c系列-NSMutableString
  • MySQL 数据库开发规范
  • 20 种提升网页速度的技巧
  • xdebug代码调试工具
  • AngularJS Toaster
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 0基础学习移动端适配
  • CentOS 7 防火墙操作
  • classpath对获取配置文件的影响
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • laravel with 查询列表限制条数
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Redis 中的布隆过滤器
  • uni-app项目数字滚动
  • vue2.0项目引入element-ui
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 当SetTimeout遇到了字符串
  • 动态魔术使用DBMS_SQL
  • 复习Javascript专题(四):js中的深浅拷贝
  • 日剧·日综资源集合(建议收藏)
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 三分钟教你同步 Visual Studio Code 设置
  • 使用SAX解析XML
  • 微信开放平台全网发布【失败】的几点排查方法
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • postgresql行列转换函数
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​香农与信息论三大定律
  • #define
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (算法设计与分析)第一章算法概述-习题
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (转载)虚函数剖析
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET成年了,然后呢?
  • .NET命令行(CLI)常用命令
  • /proc/vmstat 详解