【解決】HTTPGet・RESTコンポーネントでのWebサービス応答の受信処理遅延について

「ASTERIA Warp」「ASTERIA 3」「ASTERIA On Demand」の
インストール・動作環境・パイプライン機能・フロー機能など全般について

【解決】HTTPGet・RESTコンポーネントでのWebサービス応答の受信処理遅延について

投稿記事by uranus8686 » 2018年9月27日(木) 13:44

お世話になります。

環境:ASTERIA WARP 1712

HTTPGet、あるいはRESTコンポーネントのGetメソッドを使用して、Webサービスからの
応答として4MB程度のXMLデータを受信した際、次のコンポーネントの初期化が
始まるまでに1分程度の時間がかかっています。

ブラウザの開発者ツールで確認した限り、Webサービスからの4MB程度のXMLデータの
受信は10秒以内で完了しております。

Webサービスからの応答に対するASTERIAフローにおける受信処理を速くする方法がありましたら、ご教授いただけますでしょうか。
最後に編集したユーザー uranus8686 [ 2018年10月05日(金) 19:08 ], 累計 1 回
uranus8686
 
記事: 3
登録日時: 2018年9月27日(木) 13:30

Re: HTTPGet・RESTコンポーネントでのWebサービス応答の受信処理遅延について

投稿記事by arimitsu » 2018年10月03日(水) 18:05

こんにちは。

4MBのXMLだと大きめなので、XMLストリームを使用している場合、XMLを解析するのに時間がかかっているのかもしれません。
ファイルにXMLを保存して、そのファイルを読むフローを作って、XMLストリームにするのに同程度の時間がかかるのでしたら、それですね。
それにしても1分は長いです。MCのグラフで見るとメモリの使用量が急上昇すると思いますが、メモリが足りなくなっているのかもしれません。

速くする方法ではないですね・・・
arimitsu
 
記事: 37
登録日時: 2015年6月16日(火) 16:54

Re: HTTPGet・RESTコンポーネントでのWebサービス応答の受信処理遅延について

投稿記事by uranus8686 » 2018年10月04日(木) 20:53

ご回答ありがとうございます。

> 4MBのXMLだと大きめなので、XMLストリームを使用している場合、XMLを解析するのに時間がかかっているのかもしれません。

最初に同じことを疑って、HTTPGetの出力をバイナリーストリームに変更してみたのですが、HTTPGetの処理時間は改善しませんでした。


> ファイルにXMLを保存して、そのファイルを読むフローを作って、XMLストリームにするのに同程度の時間がかかるのでしたら、それですね。

書き出した4MBのXMLファイルをXMLストリームで読み込むFileGetコンポーネントの処理は瞬殺で終わっています。


> それにしても1分は長いです。MCのグラフで見るとメモリの使用量が急上昇すると思いますが、メモリが足りなくなっているのかもしれません。

fsmonでFlowEngineのメモリー使用状況をモニターしたところ、処理開始前は100MB程度だったTotalメモリーが処理開始直後に1.4GBまで増加していました。
最大メモリー4GBの設定になっているので、足りないことはないのですが、初期メモリーの設定がされていなかったので、ここは改善の余地がありそうです。
uranus8686
 
記事: 3
登録日時: 2018年9月27日(木) 13:30

Re: 【解決】HTTPGet・RESTコンポーネントでのWebサービス応答の受信処理遅延について

投稿記事by uranus8686 » 2018年10月05日(金) 19:21

自己解決しました。

接続先のWebサービスがgzip圧縮をサポートしていたので、RESTコンポーネントの送信ヘッダープロパティに以下を追加し、gzip圧縮されたデータを受信するようにしました。

Accept-Encoding: gzip

その結果、RESTコンポーネントの処理時間は5秒以内で完了するようになりました。
受信したgzipのストリームをGunzipコンポーネントで展開して元のXMLを取出すことができました。

gzip圧縮しない状態で、RESTコンポーネントの処理時間が1分程度かかっていた原因は謎ですが…
uranus8686
 
記事: 3
登録日時: 2018年9月27日(木) 13:30


Return to 聞きたい、知りたい、教えます

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[2人]

cron