php 模拟高并发访问

来源:互联网 发布:网络购物纠纷案例 编辑:程序博客网 时间:2024/05/22 01:26

//利用curl_multi_init()curl批处理命令

classic_curl_main1.php//主文件

<?php

ini_set("display_errors", "off");
header("Content-type: text/html; charset=utf-8"); 
$url='http://localhost/concurrent/client_1.php';
$num=7000;
// $connomains = array(
// 'http://localhost/concurrent/client_1.php',
// );
$mh = curl_multi_init();
//$connomains as $i => $url
for ($i=0; $i<=$num; $i++) {
     $conn[$i]=curl_init($url);
      curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,1);
      curl_multi_add_handle ($mh,$conn[$i]);
}
do { $n=curl_multi_exec($mh,$active); } while ($active);
for ($i=0; $i<=$num; $i++) {
      $res[$i]=curl_multi_getcontent($conn[$i]);
      curl_close($conn[$i]);
}
echo "<pre>";
print_r($res);

echo "</pre>";


client_1.php//子文件

<?php


// file_put_contents("client_1.txt", "client_1 execute:".time()."\r\n",FILE_APPEND);
// echo 'client_1 execute';
ini_set("display_errors", "off");
$link = mysql_connect('localhost','root',''); 
if (!$link) { 
die('Could not connect to MySQL: ' . mysql_error()); 

mysql_select_db("test",$link);


$result=mysql_query("select self_level from tp_menber where wx_name = 'LCR1'");
$data=mysql_fetch_array($result);
$row = $data?$data:0;


file_put_contents("client_1.txt", mysql_errno().":".mysql_error()."\r\n".print_r($row,true)."\r\n".time()."\r\n",FILE_APPEND);


if ($row['self_level']<=0) {
echo '没库存'; 
}else{
echo time();
   mysql_query("update tp_menber set self_level=self_level-1 where wx_name = 'LCR1'");
}




mysql_close($link);  

原创粉丝点击