DOBON.NETプログラミング道掲示板

■34666 / 親記事)  呼び出し元によってWebApi側の処理速度に差が出る
  
□投稿者/ ぺんたごん 一般人(1回)-(2021/03/12(Fri) 17:40:57)
  • アイコン環境/言語:[C#、.NET 4.7、Windows 10 64bit] 
    分類:[ASP.NET] 

    お久しぶりです。
    やや不可解な現象に遭遇したのでお知恵を拝借したく…

    今回、ASP.NET Web APIで、POSTでJSONの送受信を行う
    RESTサービスを1つ作りました。

    内部では、パラメータで渡された件数分だけループしながら
    SQL Serverへのアクセスを行っています。

    ここで、Chromeアドオンの「Talend API Tester」を使って
    テストするとおよそ2秒で処理が完了します。
    しかし、JavaScript(jQueryのajax)でサービス呼び出しを
    組んでブラウザ(IE11, Chrome)で動作させると、なんと約15秒もかかります

    1個1個の処理はほとんど数ミリ秒レベルで終わるものですが
    ループ数が多い(言うても500くらい)というパターンです。

    リクエストサイズは180KB、レスポンスは10KB程度なので
    通信部分でもたついてるわけでもないです
    (サービスをVSでデバッグしてStopwatchで計測してる)

    色々見てると、JSから呼び出された場合は
    DBアクセス発生するメソッドの戻りが
    数十ミリ秒ほど遅くなっているように見えました。
    (メソッドは別dllなのでまだ調査しきれてませんが)

    これを500ループすれば確かに秒単位で遅くなりますが、
    そもそも呼び出し元によってサーバサイドの
    処理速度が変化することがあり得るんでしょうか…

    実際起きているので謎ですが、そういった現象について
    何かご存知の方いらっしゃいますでしょうか…

    何卒よろしくお願いします
マルチポストを報告
違反を報告
引用返信 削除キー/
■34677 / ResNo.1)  Re[1]: 呼び出し元によってWebApi側の処理速度に差が出る
□投稿者/ 魔界の仮面弁士 大御所(1324回)-(2021/03/24(Wed) 14:04:44)
  • アイコンNo34666に返信(ぺんたごんさんの記事)
    > 今回、ASP.NET Web APIで、POSTでJSONの送受信を行う
    > RESTサービスを1つ作りました。

    自己管理されているサービスのようなので、

    失敗した要求のトレース
    http://mtgiis.blogspot.com/2013/02/blog-post_17.html

    を使って、状態コード 200-599 の範囲を一時的に追跡し、
    Talend API Tester の場合とブラウザーの場合とで、
    リクエスト内容がどのように違うのかを比較してみては如何でしょう。
違反を報告
引用返信 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/


- Child Tree -