PDO数据连接持久化性能测试
2017-04-22 23:37
253 查看
PDO数据连接持久化可以有效地提升连接数据库的效率。前面文章中做过测试,连接1000次数据库需要使用100秒,一次连接需要0.1秒。如果在项目中,凡是需要连接数据库的地方都需要创建一次连接无疑会对系统的性能带来很大的损失。所以在PDO中可以进行数据库连接的持久化属性设置。所谓的数据库连接持久化就是创建一次连接之后就把该连接直接缓存,以后再次用到连接数据库的时候直接读取缓存而无需再次创建。
具体代码测试:
创建1000次连接:
返回结果:
101.266328634876
使用数据库连接持久化之后:
返回结果:
0.15400886535645
由此可见,数据库连接持久化在第一次创建连接之后,就不用再次创建连接而是直接读取缓存。
具体操作只是在PDO的构造方法中加一个数组类型的参数。
具体代码测试:
创建1000次连接:
set_time_limit(0); $begiontime=microtime(true); for($i=0;$i<1000;$i++) { $pdo = new PDO("mysql:host=localhost;dbname=myphp", 'root', '123456')); } $endtime=microtime(true); $times=$endtime-$begiontime; echo $times;
返回结果:
101.266328634876
使用数据库连接持久化之后:
set_time_limit(0); $begiontime=microtime(true); for($i=0;$i<1000;$i++) { $pdo = new PDO("mysql:host=localhost;dbname=myphp", 'root', '123456', array(PDO::ATTR_PERSISTENT => true)); } $endtime=microtime(true); $times=$endtime-$begiontime; echo $times;
返回结果:
0.15400886535645
由此可见,数据库连接持久化在第一次创建连接之后,就不用再次创建连接而是直接读取缓存。
具体操作只是在PDO的构造方法中加一个数组类型的参数。
array(PDO::ATTR_PERSISTENT => true)
相关文章推荐
- redis 由浅入深之 高级(数据备份与恢复、安全、性能测试和客户端连接)
- redis基础简介(五)- 数据备份与恢复、数据安全、性能测试、客户端连接、分区
- 精华的微软文章".NET 数据访问架构指南",特别是数据库连接的测试.即监视链接池化(1)
- 精华的微软文章".NET 数据访问架构指南",特别是数据库连接的测试.即监视链接池化 (2)
- 3块闪存的读写性能测试数据 推荐
- [转自microsoft]NET 数据访问架构指南",-数据库连接的测试.即监视链接池化
- 插入10000条数据测试DB性能
- 各方式连接oracle db 的性能测试(c#)
- 性能测试中批量数据制作实例的多种方法讨论
- 数据连接部分通过测试源代码-----java学习笔记之4
- Oracle性能优化实战 修改版(改正原有测试的指标数据)
- 提高abap数据访问性能的几篇文章的连接
- NET 数据访问架构指南,特别是数据库连接的测试.即监视链接池化
- 提高abap数据访问性能的几篇文章的连接
- 关于OleDB\Oracle\SQLClient连接数据库的性能测试
- HFSoft.Data持久化组件和其他组件性能对比测试
- 精华的微软文章".NET 数据访问架构指南",特别是数据库连接的测试.即监视链接池化(1)
- 提高abap数据访问性能的几篇文章的连接
- 提高abap数据访问性能的几篇文章的连接
- 影响性能的测试报告(数据库版)测试源代码