ホームページ  >  記事  >  バックエンド開発  >  php+R 言語分析 Web サイトの応答時間

php+R 言語分析 Web サイトの応答時間

巴扎黑
巴扎黑オリジナル
2016-11-12 15:28:231668ブラウズ

Web ページ上の特定のコンテンツをキャプチャする Web クローラーを作成します。以前、大学院生が書いたことがありましたが、時間がかかりすぎてデータが数千件しかないと先生が考えたので、今回は私が最初に実現可能性調査を行う必要があると頼まれました。 R言語を使用して統計を作成します。

この実験には 2 つの困難があります。あるいは実際には 1 つだけ、それがデータの標準化された表現です。これまでphpを使ってファイルの読み書きをしたことがなく、これが初めてです。考慮する必要があるのは、ファイルの読み書きの頻度です。これは単なる実験ですが、効率を考慮する必要があります。ファイルの読み取りと書き込みが頻繁に行われたり、ディスク上で時間がかかりすぎたりすることは大きな問題です。したがって、これを考慮する必要があります。実際、データの形式、つまりデータがどのような形式で保存されるかが問題になります。 R 言語の後続の処理を考慮する必要があります。R 言語はプレーンテキストを処理でき、データはカンマやタブなどの区切り文字で区切ることができます。したがって、ファイル内のデータはカンマで区切られることになります。

まず、PHP コード
include ("php_lib/LIB_http.php")
$target ="http://www.*****"; を貼り付けます。
$ref = "http://www.*****";
$filename = 'sitevisitors.txt';


$first=microtime($n=0;$n<) 5000;$n++){
$betime=microtime(get_as_float);
$return_arry = http_get_withheader($target,$ref);
$finidown = $betime; [$n] = $resulttime;
//エコー $count[$n]."n";
}
$fp = fopen("data.txt", "a") ;
//fputs ($fp, "$count[0]");
for($n=0;$n<5000;$n++){
fputs($fp, "rn".$count[$n] ]);
}
$last=microtime(get_as_float);
fclose ($fp);
echo"n 時間は次のとおりです。 result;
?>

当サイトで公開するのに都合が悪いため、接続アドレスとホストアドレスを*に置き換えています。ご了承ください。プログラムはまず 5000 個の要素の配列を設計し、次に 5000 個の http リクエストを送信し、毎回の時間を記録します。 http メッセージにこの時刻があるようですが、はっきり覚えていないので、減算を行うには get_as_float を追加し、 include("php_lib/LIB_http. php"); すべての php 通知をブロックします。

すべてのデータは data.txt ファイルに書き込まれます。ファイルのデータ形式は行列である必要があることに注意してください。データ ソースが 1 つだけ、つまり 1 つだけの場合でも、列では、各データに独自の行が必要です。たとえば、1,2,3,4... のように連続して書き込むことはできません:
1
2
3
4
...

なぜこれが行われるかというと、R 言語は行列の読み書きを行う言語なので、このように書くのが最も便利です (もっと良い方法があるかもしれませんが、私は知りません)。

時間ができたら、R 言語環境を開いて統計を実行します:
①データを読み取ります:
data<-read.table("data.txt",header=FALSE,sep=",",col.names) =c ('num'))
② 平均を求めます:
mean(data[,1])
mean(data) にすることはできないことに注意してください。それ以外の場合は、次の警告が表示されます:
[1] NA
警告メッセージ:
mean.default (data) の場合: パラメータは数値でも論理値でもありません: NA と応答します
data[,1] は行列データの最初の列を表します (実際にはここには 1 列しかありませんが、そうでなければなりません)このように書かれています)。
③ 散布図を描きたいのですが、座標精度が小さすぎて区別できません。研究を続ける必要があります:
c<-data[,1]
mydata<-rbind(c,c)
mydata<-as . data.frame(mydata)
namse(mydata)with(mydata,plot(x,y,pch=19,main="結果"))

図 描画しましたが、座標精度が小数点以下2桁しかありません。座標精度を上げる方法を検討中のため、オプション(桁)は廃止されました。ちょっと考えてみてください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。