从测试角度分析—导致系统性能达到瓶颈的主要因素有哪些?

一、网络通信

  软件系统都是通过网络进行数据传输的,如果网络带宽不够支撑起一定数量的用户,就会导致系统性能难以提升!

  这也就是为什么做性能测试的时候,需要保证测试环境的独立。防止测试的时候,有其他的操作占用系统性能。

  比如大量数据处理一类的批处理业务操作,会持续占用系统内存,cpu,影响性能测试结果。

二、硬件资源

  服务器的硬件配置如果过低,也是会导致性能补足,因为硬件配置过低,本身性能指标就不高。

  这时候就需要根据性能要求更换服务器相关硬件,或者是增加相关的硬件。

三、sql语句执行过慢

  可以通过慢查询日志,确定需要优化的sql语句(可以使用索引优化sql语句的执行效率)

  1.避免查询 * (所有)列,通过指定字段的查询方式进行查询

  2.优先使用select....into,然后使用insert....into,避免表锁死的情况发生

  3.避免使用NOT IN,可以采用IN,EXISTS NOT EXISTS和LEFT JOIN 加空值判断。

四、优化代码

  1.优化代码逻辑:

  2.递归:

  3.优化日志级别

  4.使用异步模式

  这里就是要考虑相关代码的执行逻辑以及数据的处理方式,比如简单的 for 循环,尽量使用列表推导式来完成。

五、服务器集群

  如果上述问题解决以后,依旧没有达到预期的性能指标。这时候就要考虑服务器集群了。

  将多台服务器集中起来(剑圣:集中起来的意志,可以击穿顽石~),进行同一种服务,从客户端的角度看,就像是一台服务器。使用集群可以将单服务器的压力充分分散给各服务器,从而提升服务器的整体性能。

六、业务逻辑的优化处理

  如果还是不行,就考虑优化业务逻辑了,比如3个请求可以做完的事情,就可以简化一些无谓的请求和业务操作。

猜你喜欢

转载自www.cnblogs.com/Super-Treasure/p/12173116.html