性能测试过程中遇到的性能瓶颈和调优办法
如题,我们做性能测试的负载测试和压力测试时候,经常会遇到一些性能瓶颈,大概表现在这些方面:
1.数据库方面的性能瓶颈;
①数据库JDBC连接池的参数设置(简称数据库连接数,一般默认数据库最大连接数为50,并发超过50个用户数时会提示失败);
如果参数设置在配置文件中,就需要修改配置文件中数据库最大连接数的数值。
②数据库表关系,表设计;
数据库查询后的数据量,查询逻辑,有没有索引等都会影响性能。
2.服务器硬件方面的性能瓶颈;
①部署服务器的CPU的核心速度,核心数;(如果是虚拟机,则需要确定创建虚拟机时分配的核心数)
②服务器内存使用情况;(服务器最大内存、空闲内存等)
3.中间件的性能瓶颈;
如Tomcat,weblogic,IIS,nginx,JVM等中间件的性能分配。
4.应用程序设计的性能瓶颈;
如循环逻辑太多,打印日志输出太多,资源没有压缩优化
5.网络带宽的性能瓶颈;
如使用无线网络连接,网络的带宽设置,上传及下载的速度,局域网中传输设置,防火墙设置等
那么,针对这些性能瓶颈,该怎么优化呢?
1.数据库方面的性能,可以优化表结构,优化查询,用游标,用存储过程等来提高性能,还可以优化连接池的配置,缓存机制等;
2.服务器硬件方面的性能,可以采用更换更好的服务器硬件环境;分配更多的内存;或者采用nginx做服务器集群以及负载均衡来优化性能;
3.中间件的性能调优,直接调优参数即可;
4.应用程序设计的性能调优,可以修改日志打印输出;建立资源缓存机制;定位响应时间长的的请求,优化代码逻辑等;
5.网络方面的性能调优,可以使用有线网络接入互联网或局域网;上传文件若比较大的话,需要增加上传带宽;