大型网站技术架构 读书笔记3 高性能架构

很明显,这一章是说性能优化的,那么在说性能之前,我们得先了解性能的具体定义,也就是说如何评定一个系统性能是好还是不好。
因此,我们就先说说性能测试,然后分别是前端性能,应用服务器的性能以及存储性能的优化。


性能测试

1 不同的人对性能的认识是不一样的
  对用户来说,他们认为的性能就是网站反应的快慢,具体来说就是他们点击鼠标,然后看到效果所需要的时间。对于这部分的优化,可以参见后面的前端部分
  对开发人员来说,那就简单了,包括系统延迟,系统吞吐量,并发处理能力,稳定性等等。当然,这部分的优化就主要在应用服务器这一层。
  对运维来说,那就是基础设施的性能和资源利用率。包括服务器带宽利用率,cpu,内存利用率等等。


2 测试指标
  响应时间:这个很好理解,从发出请求到获得响应数据所花费的时间
  并发数:同时提交请求的用户数。对于一个网站来说,我们得区分三个概念,网站系统用户数,当前在线用户数,并发用户数。
  吞吐量:单位时间内系统处理的请求数量。可是tps(每秒事务数)等指标衡量
  性能计数器:包括系统负载,对象与线程数,内存使用等等。监控系统应该监控这些指标,一点到达某个阈值就报警。
  这里咱们说说系统负载:正在被cpu执行和等待被cpu执行的进程数目之和。
  如果系统负载小于cpu数量,表示系统资源在被浪费,反之,如果系统负载大于cpu数量,那么就是说资源不足
  最好的情况就是系统负载等于cpu数量
  在linux下,可以使用top命令查看系统负载
  参见:l inux怎样使用top命令查看系统状态



3 优化策略
  第一步肯定就是性能分析喽,你得先确定用户说系统响应缓慢,到底是那个模块拖了后腿。然后再进行优化,大体的优化应该在三个层次:前端,应用,存储。


 

前端优化

   浏览器优化
    减少http请求:通过合并css,JavaScript,把多张图片合并成一张,使用的时候使用css偏移。
    使用缓存:使用浏览器缓存
    使用压缩
    css放在上面,javascript放在下面
    减少cookie传输
   cdn加速
    把静态资源放在离用户更近的地方
   反向代理
    把静态资源,放在应用服务器前面
 


应用服务器优化

  缓存
  缓存一般就是一个大的Hash表,可以在O(1)内获得数据
  不过我们得合理使用缓存,得避免以下几个问题
  1 频繁的修改数据(一般情况下读写比例在2:1以上,缓存才有意义)
  2 没有热点的访问(也就是说对数据的访问,不遵循2-8定律)
  4 数据不一致(如卖家已经改动了商品属性,但是买家并不是实时看到,如果要强制一致也会带来别的问题)
  分布式缓存架构
  一种是jboss cache代表的需要更新同步的方案,一种是以Memcached为代表的不互相通信的方案。
  
  异步
  主要就是使用消息队列,任何可以晚点做的事情都晚点做吧,使用消息队列可以削峰


  集群
  一匹马拉不动,就用三匹马。很简单的逻辑


  代码优化
  1 多线程(最好把对象设计为无状态或者使用局部对象,访问资源的时候使用锁)
  2 资源复用(单例和对象池)

  3 垃圾回收




存储优化

  不懂
基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip 个人大四的毕业设计、课程设计、作业、经导师指导并认可通过的高分设计项目,评审平均分达96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 [资源说明] 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),供学习参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值