0

確かに非常に花のようなタイトル。

Webベースのウィザードの形式のPHPWebアプリケーションがあります。ユーザーは、ウィザードを実行してオプションを選択したり、プロセス(DBクエリ)を実行したりできます。ユーザーは前後に移動して、プロセスを何度も実行できます。

私は、ユーザーが何をしたか、どのプロセスを実行したかなどの状態を最もよく保存する方法を模索しています。したがって、基本的には、後でプルアップできる栄光のログです。

これらの状態またはセッションを保存するにはどうすればよいですか?同僚が検討しているオプションの1つは、セッションごとにXMLファイルを使用し、そこにすべてを保存することです。私の考えは、これを行うためにデータベーステーブルを使用することです。

それぞれに長所と短所があり、どのオプションを選択すればよいかについての回答が得られることを期待していました。実行可能な他のオプションの提案は素晴らしいでしょう!または、適切な実装を選択するために、どのような質問をする必要がありますか。

現在使用されているテクノロジー

バックエンド:WindowsServer2005で実行されているPHPおよびMSSQLServer

フロントエンド:HTML、CSS、JavaScript(JQuery)

どんな助けでも大歓迎です。

編集

このシステムが起動されるサイトごとに1、2、3人のユーザーしかいません。各サイトは一切接続されません。システムは、1か月あたり約10から100のセッションを持つことができます。

4

2 に答える 2

2

データベースを使用するのがおそらく道です。セッションIDごとにアクションを追跡する単純なテーブルを作成するだけです。行の挿入を低コストの操作にするため、インデックスを作成しないでください(一時テーブルを作成し、インデックスを追加して、後でレポートを実行できます)。

XMLファイルも機能する可能性があります(セッションIDごとに個別のファイルを作成する必要があります)が、データベースの機能セットを活用できれば、分析の実行はおそらくはるかに簡単になります。

于 2009-10-08T18:16:26.403 に答える
0

多数のユーザーが同時に操作を行っていることを話していて、そのステップを追跡したい場合は、データベース指向のアプローチを採用する方がよいと思います。データベースサーバーは、データフローとディスク書き込みを最適化できるため、ディスクにファイルを常時書き込むよりも同時パフォーマンスが向上します。どちらを選択しても、システムのストレステストを実際に試して、大きな負荷が発生した場合にパフォーマンスが低下しないことを確認する必要があります。

于 2009-10-08T18:17:15.733 に答える