影响系统性能的因素

144 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第十一天,点击查看活动详情

性能测试往往在投产上线前开展,无法对整个系统变更进行全面的覆盖测试,因此性能测试需求提出十分关 键。性能测试需求交付过程中,需要对开发团队提出的测则试需求进行审查,重点分析交付的测试需求是否充分覆盖 了影响系统性能的因素,避免遗漏重要测试项,引发生产性能事件。

以MySQL为例:

影响数据库性能的主要因素总结如下:

1、sql查询速度

2、网卡流量 3、服务器硬件

4、磁盘IO

以上因素并不是时时刻刻都会影响数据库性能,而就像木桶效应一样。如果其中一个因素严重影响性能,那么整个数据库性能就会严重 受阻。另外,这些影响因素都是相对的。

例如:当数据量并没有达到百万千万这样的级别,那么sql查询速度也许就不是个重要因素,换句话说,你的sql语句效率适当低下可能 并不影响整个效率多少,反之,这种情况,无论如何怎么优化sql语句,可能都没有太明显的效果。

硬件

CPU

CPU通常负责计算机系统的主要计算工作。如果系统得到的CPU资源不足以满足系统的处理需求,就有可能影响系统性 能。

内存

CPU的处理数据需要暂时存放在内存中,因此内存资源也是影响系统性能的一大因素。

磁盘

磁盘的IO速度远小于内存读写速度,如果系统运行需要等待磁盘IO的完成,则系统性能就会收到很大影响。

网络

与磁盘IO类似,网络IO的速度远小于内存,而且受到各种网络各因素影响。网络I/0经常是系统性能的瓶颈。

软件

锁竞争

临界资源的使用需要用到锁,锁的竞争不仅需要上下文切换的开销,还经常会导致线程等待。甚至如果发生死锁,系统 性能就会受到严重影响。

过载

系统过载可能导致系统性能雪崩式下降。(某个时间段突然超过过系统承受能力的高并发)

以上粗略的分析可能影响性能的因素,在实际操作作中,无论是需求分析或者需求评审会议,性能测 试需求都直接或间接通过此类方法进行评判,全面分析性能影响,对准确提出性能测试需求,避免测试工作存在遗 漏起到非常关键的作用。