3

現在、仮想アイテムを取引するアプリケーションを使用しており、ホストのサーバーに対して 1 秒あたり少なくとも 40 の CFHTTP 要求を行っています。

私が遭遇している問題は、CFHTTP 呼び出しが応答を返すのに 400 ミリ秒以上かかっていることです。これは、アプリケーションが見つけた取引の 99% を見逃していることを意味します。より速い応答。

この状況の原因や解決策を見つけるのに苦労したので、CF と C# の両方でスクリプトを作成し、それぞれのタイミングを計る 10 個の http 要求を作成し、次の応答時間をもたらしました。

次のブラウザーを使用する CF で:

  • IE9: 384、444、302、570、535、317、510、349、357、467 - 平均 423.5ms
  • Firefox 27.0.1: 354、587、291、480、437、304、537、322、286、652 - 平均 425 ミリ秒
  • Chrome: 300、328、328、639、285、259、348、291、299、414 - 平均 349.7ms

C# コンソール アプリケーションの場合:

597、43、96、52、44、305、67、91、54、270 - 平均 161.9ms

ご覧のとおり、C# コンソール アプリケーションで HTTPWebRequest を作成するとパフォーマンスに大きな違いがあり、おそらく CFHTTP 要求が抑制されているのではないでしょうか? それとも、ブラウザと関係があるのでしょうか?

どんな助けでも大歓迎です!

4

1 に答える 1

1

コメントするのに十分ではないので、ここで質問してください。http 呼び出しを行うために Java クラスを試しましたか?

    obj = CreateObject("java", "org.apache.commons.httpclient.HttpClient");
    get = CreateObject("java", "org.apache.commons.httpclient.methods.GetMethod");
    header = CreateObject("java", "org.apache.commons.httpclient.Header");

    obj.init();
    tmp = get.init("http://google.com");
    res = obj.executeMethod(tmp);
    return res.response;
于 2014-04-21T20:17:29.983 に答える