第七周学习总结

用户头像
刘卓
关注
发布于: 2020 年 07 月 23 日

性能测试

主观视角,可能不通过技术上的性能优化就能做到主观视角的优化,比如通过提早与用户交互。

客观视角

响应时间,最直观的反映了系统的快慢

吞吐量,单位时间(1s内为 TPS)内系统处理的请求数量 =(1000/响应时间ms)*并发数

性能计数器,System Load

性能测试 负载测试 压力测试 为三个测试阶段。稳定性测试:长时间测试、不规则请求压力测试。

测试结果列表:并发数、响应时间、TPS、错误率、Load、内存

性能优化

性能优化的两个基本原则:

你不能优化一个没有测试的软件

你不能优化一个你不了解的软件

性能优化一般方法:

1. 性能测试,获得性能指标。

2. 指标分析,发现瓶颈。

3. 架构与代码分析,寻找性能瓶颈关键所在。

4. 架构与代码优化,优化关键技术点、平衡资源分配。

5. 性能测试。

系统性能优化分层思想:机房与骨干网络、服务器硬件、操作系统、虚拟机、基础组件、软件架构、软件代码



软件架构性能优化三板斧:缓存、异步、集群



代码优化:仅仅因为代码太烂了、并发



使用的别人的工具、框架也有可能出问题,要分析性能指标,奇怪的指标很可能就是问题所在。



-------------------------------



代码时静态的,执行是动态的,一套代码会被多个进程、线程同时执行

进程线程运行状态:运行、就绪、阻塞,阻塞是性能关键点

进程堆 - 存放复杂类型对象

线程栈 - 存放基本数据类型的局部变量

多个线程修改进程堆中的对象时可能发生线程安全问题,比如修改单例对象中的属性(分别不同线程new出来的对象不存在这个问题)。lock是加在代码上的,谁获得锁谁能执行。

悲观锁、乐观锁。微软版本控制文件所类似悲观锁,git为乐观锁

akka



操作系统文件系统块大小 4k

raid 0 提高读写速度,但是文件损坏风险高。raid 1 双写备份。raid 10 结合前两种,但是硬盘利用率为50%。raid 5 利用异或校验信息提高读写速度及可用性。 raid 6 升级 raid 5。

HDFS 块大小64M



面试:基础知识、架构知识、编程知识



用户头像

刘卓

关注

还未添加个人签名 2018.04.26 加入

还未添加个人简介

评论

发布
暂无评论
第七周学习总结