1

かなり単純な質問があります。XML ペイロードを取得するために多くの HTTP リクエストを実行する予定であり、ペイロードを解析してデータベースに変更を加える必要があります。

私はこれらのリクエストをかなり頻繁に行うつもりなので、最適化はうまくいきます。

最も時間がかかるので、リクエストを行うためのより効率的な方法があるかどうか疑問に思っています。私はこれを Java で書いています。SAXParser を使用して、必要なデータの XML ペイロードを解析します。私は Http リクエストに HttpURLConnection クラスを使用しています。同期されたスレッドを実行し、各リクエストを待ちます。リクエストを同時に実行しようとしましたが、いくつかの問題が発生しました。これを行うコンピューターは非常に高性能であるため、メモリや処理の問題が発生することはありません。だから私の質問は:

  1. XML ペイロードのハッシュを取得して DB に格納するか、XML を解析して手動でデータをチェックする方が効率的でしょうか?
  2. HttpURLConnection よりも効率的な HttpRequests 用のライブラリはありますか?
  3. リクエストをスレッド化して最適化を行うことはできますか?

どんな洞察も高く評価されます。

4

1 に答える 1

2

XMLペイロードのハッシュを取得してDBに保存するか、XMLを解析してデータを手動でチェックする方が効率的ですか?

XMLペイロードのハッシュを計算することは、それを解析するよりもほぼ確実に高速です。これは、再解析する必要のないペイロードがすでにあるかどうかを検出するための良い方法です。

HttpURLConnectionよりもHttpRequests用のより効率的なライブラリはありますか?

もちろん、ApacheHttpComponentsを使用してください。このレガシーでありながら関連性のあるドキュメントで強調されているように、パフォーマンスを調整する方法はいくつかあります。

リクエストをスレッド化して最適化を行うことはできますか?

スレッドに関連するすべてのものと同様に、これはハードウェア構成(特にネットワークハードウェア)を含むいくつかの要因に依存します。理論的には、マルチスレッドからいくつかの利点を得る必要があります。チューニングの最優先事項にはしません。

于 2013-03-07T01:28:47.207 に答える