架构师训练营 W7 心得

用户头像
telliex
关注
发布于: 2020 年 07 月 22 日

性能优化

  • 响应时间:系统从发出请求开始到收到最后响应数据所需要的时间

  • 并发数:同时处理请求的数目

  • 在线用户数:当前登入系统的用户数

  • 系统用户数:可能访问系统的总用户数

  • 吞吐量:单位时间内处理请求的数量 (请求数/秒, 页面数/秒,访问人数/天)TPS, QPS, HPS



性能测试方法

性能测试(PERFORMANCE TESTING)

目的不是去找系统Bugs,而是排除系统的性能瓶颈,并为回归测试建立一个基准。测量分析过程:“运行负载试验->测度性能->调试系统”。性能测试还有另一个目标就是建立一组被测系统的基准数据。



负载测试(LOAD TESTING)

给被测系统加上它所能操作的最大任务数的过程,直到某项或多项性能指标达到安全临界值,再继续施压,处理能力开始下降。其目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。



压力测试(STRESS TESTING)

通过模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,直到崩溃不能再处理任何请求,获得最大承受压力,如此来测试被测系统的性能、可靠性、稳定性等



稳定性测试

模拟请求不均匀的生产环境,对被测系统长时间施加一定的业务压力,检测是否稳定



全练路压测

特定的业务场景下,将相关的链路完整串起来同时施压。尽可能的模拟真实的用户行为,在整站流量起来时,必定曝露性能瓶颈,如此才能探测出系统真实的处理能力。



软件性能优化三把斧
  • 缓存 主要优化读操作

  • 异步 主要优化写操作

  • 集群



进程与线程



把 CPU 的时间切成一段段时间片,每个时间片只运行某一个软件。因为时间片很小,我们会感觉这些软件同时都在运行。这种分时间片实现的多任务系统,我们把它叫分时系统。



线程的出现,则是因为操作系统发现同一个软件内还是会有多任务的需求,这些任务处在相同的地址空间,彼此之间相互可以信任。



堆与栈



栈”,后进者先出,先进者后出,只允许在一端插入和删除数据。



操作系统给每个线程分配了一块独立的内存空间,这块内存被组织成“栈”这种结构, 用来存储函数调用时的临时变量。



用户头像

telliex

关注

还未添加个人签名 2018.03.26 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 W7 心得