2

1 日に 2,000,000 回ヒットする Web サービスのグループがあります。7 つの Web サービス。各サービスは現在、着信 XML メッセージをディスク (大容量ディスク) にドロップします。

ファイルのドロップはリクエストの開始時に発生します。これを新しいスレッドにスピンオフして、ファイルの書き込みにかかる 20 ミリ秒を失わないようにしたいと考えています。はい、その 20 ミリ秒はあなたが思っている以上に重要です。

私は .NET 2.0 を使用していますが、これを行うには 2 つの方法を考えました: DropMessage() メソッドへの非同期メソッド呼び出し、または新しいスレッドを開始して呼び出すことです。

private void DumpMessage()// this method dumps the incoming message to File.

DumpMessages は独自のビジネスを管理しています。失敗した場合、何をすべきか、私のチームに連絡する方法を知っています。

public delegate void AsyncDumpMessage();
AsyncDumpMessage caller = new AsyncDumpMessage(DumpMessage);
IAsyncResult result = caller.BeginInvoke(null, null);

System.Threading.Thread t = new System.Threading.Thread(DumpMessage);
t.Start();

上記の2つに注意点はありますか?テストを通じてパフォーマンスが向上したため、非同期メソッドに頼っています。

これを行うためのより良い方法について他のアイデアはありますか? パフォーマンスと安定性は私にとって重要です。

4

1 に答える 1