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

1377次浏览 更新日期: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
    回复
作者信息
发布见解
发内容 回顶部