51Testing丛书:性能测试进阶指南—LoadRunner 11实战(3)

发表于:2012-5-07 11:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈霁    来源:51Testing软件测试网原创

  3)SQL语句及其索引或锁定属性问题

  问题:SQL语句及其索引或锁定属性不合理可能引发DISKIO过忙(磁盘读/写数据)或者CPU过忙(在内存中索引排序),造成执行时间过长,阻塞线程的执行,最终引发系统挂起或者执行超时引发系统挂起,例如,错误信息:

  oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2857)  at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate

  死锁引发系统挂起,例如错误信息:

  java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource  at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:170)

  解决办法:优化SQL语句及其索引或锁定属性。

  3.性能调优应该注意的要点

  ● 要点1:在应用系统的设计开发过程中,应始终把性能放在考虑的范围内。

  ● 要点2:确定清晰明确的性能目标是关键。

  ● 要点3:必须保证调优后的程序运行正确。

  ● 要点4:系统的性能更大程度上取决于良好的设计,调优技巧只是一个辅助手段。

  ● 要点5:调优过程是迭代渐进的过程,每次调优的结果都要反馈到后续的代码开发中去。

  ● 要点6:性能调优不能以牺牲代码的可读性和可维护性为代价。

  性能调优是一个很复杂的过程,就好比一个人每天在上班路上需要消耗1.5小时,如何调优让这个人上班路上开销的时间变小。性能调优需要有全面的知识和背景,需要对被调优对象有全面的了解和跟踪,才能逐步抽丝剥茧找到某块短板,将这块短板加长后,再找到下一块短板,依此类推。

  很多公司在招聘性能测试工程师的时候都会提及性能调优这个职责,但是只靠一个性能测试专家是很难的。因为如果你想要对一个三层架构的网络应用进行调优,那么需要对网络架构、WWW服务、APP应用、DB数据库都相当精通,才能完成所谓的调优工作,而这样的人已经可以胜任架构设计师的职位了,如果让他去做性能测试工程师是否有些大材小用了呢?

  不过作为一个性能测试工程师,在成长的初期需要对性能测试调优的各个对象都有所了解,通过相关部门的人员协助完成调优工作,随后就是逐步加深,并且选择一个具体的方向进行深化并成为某一方面的性能测试及调优专家。

(未完,精彩待续)

连载一        连载二

本文选自《51Testing软件测试作品系列》之十——《性能测试进阶指南——LoadRunner11实战》

本站经电子工业出版社和作者的授权,近期将进行部分章节的连载,敬请期待!

版权声明:51Testing软件测试网获电子工业出版社和作者授权连载本书部分章节。

任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。

相关阅读:

查看本书介绍>>

查看软件测试作品系列其他书籍>>

22/2<12
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • Nexi
    2013-3-21 11:19:47

    我太菜了 看这本书好难懂啊 都没信心看下去了

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号