知识大全 影响性能的测试报告(数据库版)

Posted

篇首语:临文乍了了,彻卷兀若无。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 影响性能的测试报告(数据库版)相关的知识,希望对你有一定的参考价值。

   引言    前提 项目组里无用到SPRING进行事务的管理 项目里以功能划分到每个人手里     形成了BO DAO ACTION VIEW都是单人负责 在DAO中每个动作都以    封闭式的形式存在     问题 造成事务的不连贯性 功能是做出来了 性能问题迟早暴露     测试 主要针对程序频繁请求数据库连接对WEB应用所造成影响做一个测试     先做必要的说明 一步步引入正题 先从性能瓶颈开始      性能瓶颈    所有的应用程序都存在性能瓶颈 为了提高应用程序的性能 就要尽可能的减少程序的瓶颈 以下是在JAVA程序中经常存在的性能瓶颈    >  了解了这些瓶颈后 就可以有针对性的减少这些瓶颈 从而提高JAVA应用程序的性能     数据库连接池工作原理    关于连接池的实现原理测试方案     经过资料的收集与APACHE DBCP里连接池的查阅 对现有的连接池工作原理有两种方式      数据库预先设置配置好的连接数 待得到用户请求连接 传出一个连接 而后为了保持供应数再提前创建连接 即提前预备连接数供请求 比如     有 个通行道代表最大激活的连接数 最小 个闲置连接数 也就是说连接池里始终预备了 个可随时提供的连接 连接的创建开销是比较大的 连接池的存在就是了能够最小化的解决创建所等待的时间      O   O   *   *   *    如上图 当 分配出去时由于池中连接数剩一个 为保持最小闲置 会自动创建一个新的连接以防止再次请求等待创建的时间 这样确实减少了等待的时间 但是数据库创建的开销方面并未得到解决 如果把 比喻成汽车 那么这种情况下每量车都是一次性使用 被请求后下一个连接将是 来接替 那么如何能够重复利用 减少数据库开销 于是引出第二种方式      回收使用完后的连接 放回到池中进行循环利用 这么做必须能保证 点    一 使连接能够保持有效的回收     二 约束使用者使用释放的动作 而不是直接把连接close     笔者使用的是APACHE DBCP里BasicDataSource的连接池基本实现     经过代码与测试结果显示 其工作方式是基于二的     BasicDataSource测试用例    下面展示了一个测试用例    测试结果     第 组数据:    并发应用数 模拟连接数     运行平均耗时     共使用 个连接    运行平均耗时      共使用 个连接    运行平均耗时     共使用 个连接    运行平均耗时     共使用 个连接    运行平均耗时     共使用 个连接    第 组数据共执行 次;平均耗时为 毫秒    平均使用 个连接    第 组数据:    并发应用数 模拟连接数     运行平均耗时     共使用 个连接    运行平均耗时     共使用 个连接    运行平均耗时     共使用 个连接    运行平均耗时     共使用 个连接    运行平均耗时     共使用 个连接    第 组数据共执行 次;平均耗时为 毫秒    平均使用 个连接    第 组数据:    并发应用数 模拟连接数     运行平均耗时     共使用 个连接    运行平均耗时     共使用 个连接    运行平均耗时     共使用 个连接    运行平均耗时     共使用 个连接    运行平均耗时     共使用 个连接    第 组数据共执行 次;平均耗时为 毫秒    平均使用 个连接    每次测试的结果都可能不同 但是所得到的结论是一致的 数据显示不合理的请求使用连接严重的影响应用所能承受的并发数量 响应的时间也因此受到影响      目前普遍存在的问题    没有把事务控制好 一般会出现以下的情况     事务() 流程 (); 流程 ();    可以看出流程 里都是单独创建连接 并在自己的流程里完成操作     如果在流程 里出现异常 那么流程 所做的操作是不可恢复的     如果能控制在事务范围内 如     事务() Connection con; 流程 (con); 流程 (con); con close();    那么数据库少提供一个连接 事务的完成性也得到体现 在并发数量大的时候 效率上就有非常明显的区别      解决方案     尽量保持少的请求    如DAO中有update()方法 则应再扩展一个方法update(Connection conn)    在业务逻辑事务里调用update(Connection conn) 一般情况下调用update()     对于数据不变的情况采用缓存技术 或部分缓存技术     可参照一些相关的开源的项目(JIVE) cha138/Article/program/Java/hx/201311/27107

相关参考

根据厂家说明书以及出厂技术数据测试报告,需对给煤机程控程序设定的主要参数,有()等。

根据厂家说明书以及出厂技术数据测试报告,需对给煤机程控程序设定的主要参数,有()等。A、电机转速B、煤质密度C、最小给煤率D、最大给煤率参考答案:ACD

知识大全 求一篇2010版暑期社会实践报告

求一篇2010版暑期社会实践报告应届毕业生首页>应届毕业生互助问答求暑期社会实践报告问:1)中学生心理状况调查(2)从村留守儿童现状分析(3)大量民工返乡对农村的影响(4)农民意思与新农村建设(

知识大全 数据库测试套件中的dbt2 TPC-C 测试[2]

高性能MySQL:数据库测试套件中的dbt2TPC-C测试[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 数据库测试套件中的dbt2 TPC-C 测试[1]

高性能MySQL:数据库测试套件中的dbt2TPC-C测试[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 hibernate大数据性能处理

   在项目中使用Hibernate进行大数据量的性能测试有一些总结   )在处理大数据量时会有大量的数据缓冲保存在Session的一级缓存

知识大全 大型数据库设计原则

  一个好的数据库产品不等于就有一个好的应用系统如果不能设计一个合理的数据库模型不仅会增加客户端和服务器段程序的编程和维护的难度而且将会影响系统实际运行的性能一般来讲在一个MIS系统分析设计测试和试运

知识大全 人教版小学四年级下册语文能力测试卷答案

人教版小学四年级下册语文能力测试卷答案别求答案,复习好就行了,不要死记人教版小学四年级语文期末测试卷答案?????????????????????????????【文如春华】华:同“?花”。文章词藻像

知识大全 Eclipse 3.5年度稳定版现已公开测试

Eclipse3.5年度稳定版现已公开测试  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Ecl

3种阻垢剂的阻垢性能测试及动力学研究

  当水中CaCO3的浓度等于或大于其饱和度时,即倾向于结垢,且CaCO3的溶解度随着温度的升高而减少。在冷却水系统中,由于水温高于环境温度,CaCO3结垢的可能性大大增加,不仅影响换热效果,还会引起

3种阻垢剂的阻垢性能测试及动力学研究

  当水中CaCO3的浓度等于或大于其饱和度时,即倾向于结垢,且CaCO3的溶解度随着温度的升高而减少。在冷却水系统中,由于水温高于环境温度,CaCO3结垢的可能性大大增加,不仅影响换热效果,还会引起