性能测试计划和准备就不多说了,各种书籍都有详细说明,各公司也有自己的流程和模板。我们主要讨论测试思路。
以下情况多注意:
数据量大:很多程序需要展示大量信息,如果用户的网速慢或者带宽有限,就会很影响性能,特别是最后面的信息。比如网页上大量的图片或客户端和服务器之间大量冗余的会话所带来的大量数据。
低性能的SQL:如果程序使用到了数据库,那么某些SQL语句或者存储过程的性能较差,在进行性能测试之前,需要优先处理他们,否则在压力测试的时候,他们所造成的影响会指数放大。
大量的会话:客户端和服务器的会话如果过于频繁,在碰到高延迟、带宽有限、网络拥挤,就会很容易出现问题。比如,TCP的三次握手,在一些较为底层的网络优化时(比如路由器级别网络优化),就会优化这三次握手,因为三次握手需要双方会话的次数过多,在一些情况下,会造成性能问题,比如网络状态不好,链接频繁重连,此时TCP握手会浪费网络资源,造成性能问题。
未处理的异常:从功能上来说,虽然软件运行正常,有些错误极小概率发生,但如果不处理,就是影响性能和健壮性的隐患。例如没有处理的404错误,一般情况下,404不会对性能造成影响,但在高访问量下,会影响性能。