人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

自作の完全自動株式売買アプリケーションを運用しています。
サーバにアクセス>HTML取得>解析>アルゴリズムに基づいて発注処理 というロジックです。
当たり前のことですが、クライアント側の処理時間に比べてHTML取得に時間がかかります。(200msec)
アクセス先のサーバの処理能力によるものが大きいとは思いますが、クライアントーサーバ間にあるルーターなどの
ネットワーク機器の処理能力も少なからず影響していると思われます。
このHTML取得時間を極力早くするために、適していると思われるルーターを教えてください。
(実効スループットの大きさではなく、レスポンスの速さ重視)
また、HTML取得を高速化するテクニックなどがありましたら合わせて教えていただけると大変助かります。(使用言語はC#)

ルーターは現在の所、マイクロ総研のSuperOPT-100Eなどを検討しています。それでは宜しくお願いいたします。

●質問者: kent0608
●カテゴリ:ウェブ制作 経済・金融・保険
✍キーワード:C# HTML T-1 アクセス アプリケーション
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ardarim
●60ポイント

HTMLをどのような方法で使っているか(どのライブラリを使っているか)にもよると思いますが、サーバ側がHTTP/1.1以上であれば、基本的に持続型接続(keep-alive/persistent connection)を使うのが効率的です。


通常HTTPのリクエストでは、クライアントからサーバにHTTPリクエスト(GETなど)を送り、サーバからクライアントにHTTPレスポンス(HTML本文)が返されて1セッションが終わります。このとき、毎回TCPコネクションが切断されます。

持続型接続の場合は、リクエスト/レスポンスを1往復した後もTCPコネクションを繋いだままにしておき、そのまま次のリクエストを送ることができるため、TCP/IPパケットを節約することができます(結果としてたくさんのHTMLをより早く取得できます)


また、HTTP/1.1では持続型接続を前提としたリクエストのパイプライン化が認められているため、複数のリクエスト(URL)を一度にサーバにまとめて送ることができます。サーバはHTMLを順番にまとめて送り返してくれます。この場合パケットの節約にもなりますし、サーバ側も先読みの処理ができる(クライアントが1つ目のHTMLを受け取っている間に次のHTMLの準備をして送れる)場合があるためレスポンス時間が早くできる場合があります。


参考

HTTP Pipelining FAQ - MDC

[Studying HTTP] Persistent Connections


例えばブラウザは、最初にHTMLを取得した後、HTMLに含まれる複数の画像をパイプライン処理を使ってまとめて取得するといったことを行ったりして表示の高速化を図ります。

◎質問者からの返答

大変参考になりました。ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ