目的及应关注指标
测试目的
本次测试对比php原生数据库连接、pdo连接方式及Zend Db在相同环境下执行select和insert性能对比测试,为数据库连接组件选型提供参考
需要关注指标
各种方式执行相对于php原生mysql数据库连接API执行时间比
测试环境及样本集
测试环境
测试服务器 | **.**.***.*** |
数据库服务器 | **.**.***.*** |
数据库类型 | Mysql 5.0.32 |
php版本 | PHP 5.2.0-8 |
运行环境 | shell |
Zend Db采用pdo方式连接
测试样本
对一下样本集执行10次,列出每次执行时间并标注最小时间和最大时间
SELECT
sql语句 | SELECT * FROM wp_posts WHERE id < 3000 |
数据条数 | 2947 |
执行次数 | 250 |
数据表说明 | id为主键 |
INSERT
sql语句 | INSERT INTO inserttest(a, b, c) VALUES (:a,:b,:c) |
执行次数 | 250 |
数据表说明 | a,b,c为非索引字段 |
测试结果集
SELECT
编号 | mysql原生 | pdo | Zend Db |
---|---|---|---|
1 | 23.1815671921 | 18.7389979362 | 20.9781548977 |
2 | 23.1190738678 | 17.9533500671 | 20.7274110317 |
3 | 23.1062159538 | 18.3370838165 | 20.9653358459 |
4 | 23.044408083 | 18.1957731247 | 21.0374000072 |
5 | 23.0952689648 | 18.2569551468 | 20.7118120193 |
6 | 23.0911550522 | 18.5029008389 | 20.9910171032 |
7 | 23.1010351181 | 18.0015010834 | 20.9725971222 |
8 | 23.0102169514 | 18.3865849972 | 20.6824378967 |
9 | 23.0707960129 | 17.9931869507 | 21.0708808899 |
10 | 23.1030399799 | 18.4367389679 | 20.9718859196 |
avg | 23.0922777176 | 18.28030729294 | 20.91089327334 |
INSERT
编号 | mysql原生 | pdo | Zend Db |
---|---|---|---|
1 | 0.207641839981 | 0.175272941589 | 0.0405569076538 |
2 | 0.190650939941 | 0.182615995407 | 0.0416030883789 |
3 | 0.165610074997 | 0.16451215744 | 0.0527379512787 |
4 | 0.187826871872 | 0.170794963837 | 0.0403609275818 |
5 | 0.153650045395 | 0.151349067688 | 0.0403728485107 |
6 | 0.15756893158 | 0.174755096436 | 0.0477318763733 |
7 | 0.174305915833 | 0.165433883667 | 0.0479979515076 |
8 | 0.18412399292 | 0.230180025101 | 0.0475389957428 |
9 | 0.176657915115 | 0.156085968018 | 0.0431699752808 |
10 | 0.160609006882 | 0.162405014038 | 0.0401198863983 |
avg | 0.1758645534516 | 0.1733405113221 | 0.04421904087067 |