2

Windows Workflow Foundation には、WF インスタンスの永続化を行うときに遅いという問題があります。ビジネス層が WF 公開 WCF サービスに基づくプロジェクトを計画しています。このプロジェクトでは、毎月 20,000 個の新しいワークフロー インスタンスが作成され、各インスタンスが完了するまでに最大 2 か月かかる場合があります。パフォーマンス上の理由から、与えられた問題は達成できないだろうと信じていました。次の質問があります。

  1. これは本当ですか?私のパフォーマンスはその負荷でがらくたになりますか (WF の持続速度の制限を考えると)
  2. どうすれば問題を解決できますか?

現在考えられる解決策は 2 つあります。 1. 新しいビジネス プロセス要求 (たとえば、新しい運転免許証をください) はそれぞれ新しい WF インスタンスになり、永続化操作の数は、すべてのステータス要求操作を保存された状態値に転送することによって制限されます。別のデータベース。2. 各ワークフロー スタックを個別のワークフローに分割し、そのワークフローが各ビジネス プロセス リクエストを処理することにより、(システム クラッシュなどの場合にのみ) 永続化することなく、常に少量のワークフロー インスタンスのみを起動します。その現在のステップにあるシステムのインスタンス (たとえば、運転免許証の要求フォームを送信しています。これはステップ 1 です... 100 件のケースがあり、ステップ 1 のワークフローはすべてのケースを同時に処理します)。

私はその問題の解決策に非常に興味があります。その問題について話し合いたい場合は、nstjelja@gmail.com まで自由にメールしてください。

4

4 に答える 4

2

正直なところ、ワークフロー基盤のパフォーマンス特性についてはまだ調査中です。

ただし、それが役立つ場合は、WF チームが WF 4 の新しいリリースで多くのパフォーマンスを改善したと聞いています。

ここに役立つリンクがいくつかあります(まだ見ていない場合)

A Developer's Introduction to Windows Workflow Foundation (WF) in .NET 4 (パフォーマンスの向上について説明)

Windows Workflow Foundation のパフォーマンス特性 (WF 3.0 に適用)

于 2010-06-18T12:19:39.800 に答える
2

ハイドレートされた実行中の wokflow の数は、環境要因、メモリ サーバー、プットなどによって決定されます。永続性の問題は、ワークフローを常にロードおよびアンロードしている場合にのみ発生します。この場合、ワークフローは最適ではない可能性があります。解決。

于 2009-04-23T06:49:17.430 に答える
2

私の現在のプロジェクトでは、WF も永続的に使用しています。ボリュームはまったく同じではなく (おそらく 2000 インスタンス/月程度)、完了するまでに通常それほど時間はかかりません (通常は 5 分以内に完了し、場合によっては数日かかります)。メイン ワークフローを通常の待機状態となる 2 つの部分に分割することにしました。これによるシステムのパフォーマンスの違いに気づいたとは言えませんが、単純化されました。これは、私たちのシステムでは、受信シグナルを正しいワークフロー インスタンスに一致させる際に問題が発生することがあったためです (これはコードの問題であり、コードの問題ではありません)。 WF)。

WF に基づいて新しいプロジェクトを開始する場合、プロセス全体を大きなワークフローで処理するよりも、順番に呼び出される小さなワークフローを使用したいと思います。

于 2009-04-23T06:50:37.147 に答える
1

3.5のWFにはパフォーマンスの問題がありました。WF4はしません-20000月あたりのWFインスタンスは何もありません。あなたが毎分話していたら、私は心配するでしょう。

于 2011-05-16T08:04:23.363 に答える