谁提供一个快速生成百万测试内容得脚本啊

135次浏览 更新日期:2020-07-17 22:47:15 分类:程序交流 评论:2

前几天在245配置的主机上测试yzmcms百万内容下的负载情况,本来想今天在测试下开启缓存功能之后的负载情况,结果发现整理桌面的时候不小心把之前测试用的数据备份给删除了,无奈了。


之前的数据是袁老大给弄的,这也不好意思在麻烦他了啊。


有没有大佬供一个快速生成百万测试内容得脚本啊


非常感谢。

我来说两句
  • @andywenming 报错了
    0
    回复
  • /**将下面函数放入application/api/controller/index.class.php 里面,前台访问 xxx.com/api/index/test
    * 百万数据插入数据库 (分五次,一次插入20万)
    $catid - 栏目id,
    */
    public function test() {
    /*
    * 连接数据库
    */
    $dsn = 'mysql:host=127.0.0.1;dbname=yzmcms;';
    $user = 'root';
    $password = 'root';
    $dbh = new PDO($dsn, $user, $password);

    // $db = D('article');
    $title = "演示文章标题";
    $seo_title = "演示文章SEO标题 - ";
    $content = "演示文章内容详情内容";
    $catid = 3;
    $username = "yzmcms";
    $userid = 1;
    $inputtime = SYS_TIME;
    $updatetime = SYS_TIME;
    $dbh->exec( "set global max_allowed_packet = 2*1024*1024*1024" );
    $time_start = microtime(true);
    $sql = "INSERT INTO `yzm_article` ( `title`, `seo_title`, `content`, `catid`, `username`, `userid`,`updatetime`,`inputtime`) VALUES ('$title','$seo_title','$content','$catid','$username','$userid','$updatetime','$inputtime')";

    for($i=0; $i<=200000; $i++){ // 一次插入20万,执行5次即可
    $title = "演示文章标题{$i}";
    $updatetime = SYS_TIME+($i*60);
    $inputtime = SYS_TIME+($i*60);
    $sql .=",('$title','$seo_title','$content','$catid','$username','$userid','$updatetime','$inputtime')";
    }
    $id = $dbh->exec($sql);
    $time_end = microtime(true);
    $time = $time_end - $time_start;
    echo "完成时间: {$time} s " . PHP_EOL;

    }
    0
    回复
版主信息
发布新帖
发帖子 回顶部