ボトルネックは、特定のホストが応答するのを待つことです。30秒のタイムアウトとチェックするN個のホストがあり、最後のホストを除くすべてが応答しない場合、最後のホストをチェックするには30(N-1)秒待つ必要があります。最後のホストをチェックすることは決してできないかもしれません。
確かに、複数のHTTPリクエストを送信する必要があります-すでに提案されているマルチcURL、またはOOアプローチのHttpRequestPoolクラスのいずれかです。
また、応答しないホストのキューを最初に処理する必要があるためにホストに到達できないという問題を回避するために、N個のホストのセットを分割して最大数のサブセットにチェックダウンする方法を検討する必要があります。
1台のサーバーからN個のホストをチェックすると、応答しないホストのキューが原因で1つ以上のホストに到達しない可能性が最も高くなります。これは、最も安価で、最も簡単で、最も信頼性の低いオプションです。
N台のサーバーからそれぞれ1台のホストをチェックすると、応答しないホストのキューが原因で、1台以上のホストに到達しない可能性が最も低くなります。これは最も高価で、(おそらく)最も困難で最も信頼できるオプションです。
自分に最適なコスト/難易度/信頼性のバランスを検討してください。