具体的には、まず始めに100URLほど用意して、そこからからのリンクを調べ、ドメインが異なることを確認したら、プログラム上でスレッドを作りながら一括アクセスしたいと思っています。この部分でのスレッドの数をどこまで上げるかで悩んでおります。
ログインして回答する
どこがボトルネックなのかよく分からないのです。テストするにもどの程度の数を設定するのが適切か。また、大量アクセスでうっかりプロバイダのサーバを落とすと偉いことになりますし気軽にテストするわけにもいきませんし・・・
質問文を編集しました。詳細はこちら。
回答はまだありません
これ以上回答リクエストを送信することはできません。制限について
コメント(9件)
100URLほど用意して、そこからからのリンクを調べ、ドメインが異なることを確認したら、プログラム上でスレッドを作りながら一括アクセスしたいと思っています。この部分でのスレッドの数をどこまで上げるか悩んでおります。
https://it.srad.jp/story/10/05/27/0217250/
Google のクローラーなどは基本的に 1 リクエストが 15 ~ 30 秒に 1 回で、かつ If-Modified-Since 付きで送ってくれる
そうです
自分の都合だけでなく相手の都合も考えなあかん
動的ページか静的ページかでも変わるとも書いてあるんですけどね
あと理論値いっぱいの100Mでダウンロードすると
1分で750Mバイトになるんだけど文字データ限定という事から
サイトが100ぽっちで足りるのかというのが疑問なんだけど
大量アクセスで相手のサーバが落ちるという事はありえないんではないだろうか
だってそのサーバには同時に1アクセスしかないんでしょ?
1度アクセスしたサーバにはアクセスしないという条件付けたテストプログラム作れば
スレッドを同時にいくつ走らせるか確認する事を誰にも迷惑かけずにできるんじゃない?
ハードは通信環境の問題がまずあって
理論値最大までの速度が出るとは限らない事
それを行う時間帯によっても速度が違うだろう
うちは普通にフレッツ使ってるけどこの質問を最初に見かけた早朝で171M
でも今の時間帯は…あれ、242Mも出よったw
あと相手のサーバの混雑状況で速度が変わってきてこればかりはどうしようもない
それから処理した後のデータの扱い
取り込んだデータを全て保存するのか
特定のキーワードが何回出てきたのかそのカウント数のみを保存するのか
でも速度が変わってくるだろう
その他HDDかSSDかなど記憶媒体の問題もある
これらは通信でデーターを取り込む速度が
データを処理する速度を下回る場合に考えられるボルトネック
データを取り込む速度がデータを処理する速度を上回るなら
CPUの処理能力の問題かソフト面の問題かとなる
他人の手によって書かれたソースが効率的かどうかなんて他人には分からん
そんなわけでどれくらいの速度が出せるかは環境によって異なるから
自分の最適解はテストプログラム作って自分で見つけてくれ
としか言いようがないと思うよ