私は savon gem を使用して SOAP API と対話しています。並列gemを使用して、APIに3つの並列リクエストを送信しようとしています。通常、各リクエストの完了には約 13 秒かかるため、3 つのリクエストの場合は約 39 秒かかります。並列ジェムを使用し、3 つのスレッドを使用して 3 つの並列リクエストを送信した後、3 つのリクエストすべてを完了するのに約 23 秒かかります。Web サイトの応答時間に直接影響するため、合計時間を短縮する必要があります。なぜそれが起こっているのかについてのアイデアはありますか?ネットワーク要求は本質的にブロックされていますか?
私は次のようにリクエストを送信しています
Parallel.map(["GDSSpecialReturn", "Normal", "LCCSpecialReturn"], :in_threads => 3){ |promo_plan| self.search_request(promo_plan) }
複数のプロセスも使用してみましたが、役に立ちませんでした。