为了方便对服务进行压力测试,用PHP扩展编写了一个数据构造器,造数据速度相当快,使用起来也非常方便,
-.配置环境:需要有linux+mysql+php环境
二.安装
- 源码下载地址:https://github.com/rainkid/dataserv
- git clone https://github.com/rainkid/dataserv.git
- cd dataserv
- phpize
- make
- make install
- 在php.ini添加dataserv.so,并重启apache
三.使用方法说明及示例
<?php
//new the class 实例化数据构造类
$ds = new DataServ();
//set iptions for mysql connect
$ds->sethost("127.0.0.1"); //mysql服务器地址
$ds->setuser("root");//mysql用户名
$ds->setpasswd("root");//mysql 用户密码
$ds->setdb("dbname");//数据库密码
$ds->settable("house_agency");//表名
/**set fields and value
* rand int like array("int",min,max)
* rand string like array("string",minlen,manlen)
* increment int like array("increment",minvalue,step) step default 1,minvalue default 0
* string like "admin"
* int like 0
*/
/**设置字段及值
* 随机数字类型 array("int",min,max) min最小随机数字,max最大随机数字
* 随机字符串 array("string",minlen,manlen) minlen字符串最小长度,maxlen字符串最大长度
* 自增长数字类型 array("increment",minvalue,step) minvalue最小值,默认为1,step步长,最小为1 ,其中""表示自增长
* 字符串类型 "admin"
* 数字类型 0
*/
$ds->setfields(
array("agencyid"=>array("increment",0,2),
"name"=>array("int",20,50),
"address"=>array("string",20,50),
"icon"=>"icon",
"bgimg"=>"bgimg",
"mainbusiness"=>1,
"adminname"=>"admin",
"isopen"=>1,
"vieworder"=>1
)
);
//create data file (start,end)
//创建数据10条数据
$ds->create(1,100000000);
//load data file into mysql
//加裁数据到数据库
$ds->loaddata();
四.性能测试:
一>10万条记录,$ds->create(1,100000);
终端运行 php -f example.php
->1000万条记录
$ds->create(1,10000000);
终端运行 php -f example.php