大型网站技术架构 构建高性能的网站 优化方案

之前有介绍性能优化的概念,为什么进行性能优化,这张主要介绍怎样进行性能优化

性能优化是个比较大的范围,由于个人技术有限,只从程序代码的角度粗浅的做个简单的介绍,不涉及服务器,部署方案,业务架构,技术架构等方面

常用方案参考

缓存

  没有什么性能问题是缓存解决不了的,如果有,那就再加一级缓存(这是典型的空间换时间的解决方案) 基于内存访问速度比硬盘快

并发   

  一个人干不完的活,那就两个人来干(增加了系统的吞吐量,减少了用户的平均等待时间) 粒度(多机器,多进程,多线程)

  • 无状态服务 集群方案,部署多台服务器
  • 有状态服务 部署多个节点,可以每个节点提供同样的数据或每个节点只提供部分数据     

惰性计算

  将计算推迟到必须的时刻(很可能避免了多余的计算,甚至根本不用计算)

批量合并

  在IO(网络IO,磁盘IO)的时候,合并操作,批量操作往往能提升吞吐,提高性能

缩小解空间

  在一个更小范围的数据范围内进行计算,而不是遍历全部数据

记录(前端,代码,存储优化) 

前端优化

  • 减少HTTP请求数
  • 使用浏览器缓存
  • CSS放在头部,JS放在尾部
  • JS异步访问
  • 减少cookie传输
  • CDN加速
  • 静态分离  

代码优化

  • 多线程操作
  • 资源复用(对象池,线程池)
  • 良好的数据结构
  • JVM调用
  • 单例
  • 缓存  

存储优化

  • 缓存
  • 固态硬盘
  • 光纤传输
  • 优化读写
  • 磁盘冗余
  • 分布式存储
  • 非结构化数据(nosql)  

猜你喜欢

转载自www.cnblogs.com/hpzhu/p/10495239.html