美文网首页
关于软件性能的一些point

关于软件性能的一些point

作者: Rainbow想喝奶茶 | 来源:发表于2021-10-04 23:19 被阅读0次

    这是日更的第50天,不想随便写点口水话,但是也确实是没有什么精力去学习,所以又是用自己的存货充数的一天,当然这样充数的机会也不会有太多了,发现自己的库存已经开始不足了。

    今天是来记录一些关于性能的理论知识。

    什么是软件性能

    软件性能是一种非常重要的非功能特性,表明了软件系统对时间及时性及资源经济性的要求。
    对于一个软件系统,运行时间执行速度越快、占用系统存储资源及其他资源越少,则软件性能越好。

    性能指标

    1. 响应时间:客户端响应时间+网络响应时间+服务器端响应时间
      • 客户端响应时间:客户端在构建请求和展现交易结果时所耗费的时间。
      • 网络响应时间:用户发送一个请求需要时间,系统处理完后返回给用户也需要时间。这是网络硬件传输交易请求和交易结果所耗费的时间。
      • 服务器端响应时间:当系统得到请求后会对请求进行处理并将结果返回。这个部分是我们唯一可控的,就是将系统的处理请求的时间缩到最短。(毕竟用户使用的网络带宽不一)
    2. 并发用户数:某一时刻同时向服务器发送请求的用户数量
    3. 吞吐量:软件系统在每单位时间内能处理多少个事务/请求/单位数据
    4. 资源使用率:CPU占用率、内存使用率、磁盘I/O、网络I/O

    性能缺陷表现

    • 响应时间长
    • 系统不稳定
    • 占用较多资源
    • 页面报错

    缺陷分类

    硬件

    • 磁盘空间:磁盘空间不足或磁盘故障会导致服务不可用 。
    • CPU:CPU的核心功能是解释计算机指令以及处理数据,性能主要体现在其运行程序的速度上。
    • IO读写速度:内存作用是用于暂时存放CPU中的运算数据,以及与外部存储器交换的数据,内存不足会导致程序崩溃或限制程序的数据处理速度。
    • 内存:主要考虑数据输入/输出处理时的读写速度。
    • 其它...

    数据库

    • 索引:索引的存在就像一个标签目录一样,在执行数据库操作时提供更为快速的执行效率,减少磁盘IO操作和执行的数据库系统时间。
    • 锁:为了保证事务的原子性和隔离性,有了锁的存在,但有时候由于某些原因造成的表锁,也是性能瓶颈的一种表现。
    • 慢查询:慢查询会导致数据库操作时间变长,增加IO读写以及引起资源竞争等问题。
    • 数据量:数据量不同,对其进行操作时的性能表现也是不同的。
    • 其它...

    网络

    • 带宽:高并发情况下,如果带宽不足,可能会导致网络资源竞争,超时等情况。
    • 延时:延时的值越大,对系统性能表现影响越大(比如游戏)。
    • 丢包:数据包如果丢失,则可能造成报错或异常的情况。(TCP协议丢包会重传。)
    • 其它...

    中间件

    • 负载均衡:如果负载均衡不够“均衡”,在大数量的冲击下,容易导致某些服务的异常或者挂起。
    • 缓存:缓存可减少请求响应过程中的传输时间,但有时在高并发情况下,如果缓存失效而导致缓存穿透,会对服务端带来很大的压力。
    • 线程池:线程池配置太小,很容易被使用完,太大的话浪费资源。
    • 最大连接数:连接数太少容易导致队列等待、超时,连接数太多则浪费了系统资源。
    • 其它...

    人们常说21天养成一个习惯,这已经是50天了,日更确实是成为了习惯,只不过有的时候没有那么多动力或者知识储备可以去更新,真是让人有些忧伤。

    今天也是很累的一天,假期余额还有3天,大家继续愉快~

    自我记录,有错误欢迎指正~

    相关文章

      网友评论

          本文标题:关于软件性能的一些point

          本文链接:https://www.haomeiwen.com/subject/svlwnltx.html