分散関数呼び出し
Posted feedbacks - PHP
最初はfsockopenで開いて一行ずつ読み込んでいたのですが、 あまりに遅いのでソケット関数で作り変えました。 実行結果:23.0054550171 秒 <測定環境> サーバサイド CPU: Intel(R) Celeron(R) CPU 2.40GHz MEM: 256MB Apache2.0.52 + PHP4.3.9 クライアントサイド CPU: Intel(R) Celeron(R) CPU 2.80GHz MEM: 512MB PHP4.4.4(Cli) 通信経路: 100Mbps Ethernet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | // サーバサイド
<?php
$lprice = strip_tags($_POST["lprice"]);
$dcrate = strip_tags($_POST["dcrate"]);
$dprice = $lprice - ($lprice * ( $dcrate / 100 ));
echo "販売価格 ".number_format($dprice)."円(定価".number_format($lprice)."円から".$dcrate."%引き)\n";
?>
// クライアントサイド
<?php
$host = "192.168.*.*";
$script = "test/test_1.php";
$lprice = 2000;
$dcrate = 20;
$st_time = msec();
for ( $i = 0; $i < 10000; $i++ ) {
$postdata = "lprice=".urlencode($lprice)."&dcrate=".urlencode($dcrate);
$send = "POST /$script HTTP/1.0\n";
$send .= "Content-type: application/x-www-form-urlencoded\n";
$send .= "Content-Length: ".strlen($postdata)."\n\n";
$send .= $postdata."\n\n";
$sct = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_connect($sct,$host,80);
socket_write($sct,$send,strlen($send));
$result = socket_read($sct,4096);
list($head,$body) = explode("\r\n\r\n",$result);
echo $body;
socket_close($sct);
}
$ed_time = msec();
$total = $ed_time - $st_time;
echo "所要時間:$total 秒\n";
function msec() {
list($msec,$sec) = explode(" ", microtime());
return $sec + $msec;
}
?>
|


沢渡 みかげ
#3401()
Rating0/0=0.00
[ reply ]