C#のリモーティングで並行呼出できるメソッド数はいくつか?

例えば、サーバ側で必ず一定時間スリープするメソッドを用意しておいて、そのメソッドをクライアントから同時にn回呼び出した場合に、n回の呼出はシーケンシャルに処理されるのか?それとも並行して処理されるのか?

以下の内容で、任意時間スレッドをスリープさせるメソッドを.Net Remotingを用いて呼び出す調査を行いました。

スレッド数 200
スリープ時間 120秒
オブジェクトの公開方法 RemotingServices.Marshalメソッドによる公開

以下の結果が得られました。

  1. 200個のスレッドからの呼び出しは同時に並行処理されました
  2. 1回のメソッドの呼び出しに0.5s程度の時間がかかりました。
    1. 200回の呼び出しが完了するのに100s程度かかりました。

コメントをどうぞ