软件性能测试的问题分析和总结[1]

发表于:2010-01-21来源:作者:点击数: 标签:性能测试软件
软件性能测试的问题分析和总结[1] 性能测试工具 今天给部门做了性能测试分享,内容讲的比较泛泛,人还有点小紧张,还需要多学习怎么分享才能取到好的效果,现在仅摘其中的一部分,分享出来,内容不一定全面~~仅作交流 常见的性能问题 软件测试 1.最重要的

       软件性能测试的问题分析和总结[1]  性能测试工具

  今天给部门做了性能测试分享,内容讲的比较泛泛,人还有点小紧张,还需要多学习怎么分享才能取到好的效果,现在仅摘其中的一部分,分享出来,内容不一定全面~~仅作交流

  常见的性能问题   软件测试 

   1.最重要的性能问题是应用程序设计及与数据库的交互

  应用程序设计:好的应用程序设计可能会获得优秀的响应时间(但不能确保),但差的应用程序设计很难获得好的性能。差的性能设计比如:不管怎么操作,让用户检索出大量结果集(比如50M)的程序运行效率不会高,大量数据的延迟会很明显。

  2.数据库设计

  物理和逻辑设计,涉及非常多的方面,俺也不懂,举一个简单的例子:一个测试问题,大数据量下列表展现(多表联合查询)问题不能满足性能需求。DBA修改了数据库设计采用汇总表去展现列表(单表查询),汇总表也方便创建索引。

  3.参数调整

  4.硬件环境(包括网络对性能的影响会比较大)

  5.其他,因素很多。

  就几个常见的性能问题,举例展开,性能问题非常多,也总结不全面,但可以经常回顾,分类汇总,逐步完善性能问题总结这部分工作。

  一、数据库交互过多

  现象:单个操作发送给数据库sql的数据量过多,数据库延迟。

  发现方法:采用监控工具分析程序与数据库的交互(sql数量和响应时间),比如P6spy及类似工具。

  数据库交互与程序设计方式息息相关

  建议使用P6spy帮助去做数据库交互分析,截获页面操作的sql。P6spy使用具体请参考

  http://dodomail.javaeye.com/blog/117934

  http://blog.csdn.net/hennylee/archive/2007/03/07/1523410.aspx

  http://www.blogjava.net/itstarting/articles/48969.aspx

  二、列表效率低

  列表查询未使用索引。

  查询全部字段,而不是所需字段,带来额外的I/O和网络负担。

  分页算法效率低,甚至未使用分页。

  1.查询未使用索引

  此问题比较常见,通过查看sql的执行时间和I/O。查看查询计划可以清楚看出sql是否索引查询,或者全表扫描

  select ID 。。 from B where xxx

  2. 比如 Select xxx from where UPPER(name)=‘A’

  在字段上使用函数,导致不使用索引,虽然Oracle是有基于函数的索引。更好的方式 a.update现有数据 b.改程序,直接改存储模式为大写的数据。

原文转自:http://www.ltesting.net