4

システムを設計していて、機能だけでなく、パフォーマンスとスケーラビリティも決定するテストの作成を開始したいとします。さまざまな環境で大量のデータを処理するために共有できる手法はありますか?

4

5 に答える 5

2

パフォーマンスとスケーラビリティのテストに取り組む前に、機能テスト (開発ワークフローとして TDD を使用) を優先することを強くお勧めします。TDD は、コードが適切に設計され、疎結合であることを保証します。これにより、自動化されたパフォーマンスとスケーラビリティを作成することが非常に簡単になります。コードが疎結合の場合、依存関係を制御できます。依存関係を制御できるようになったら、記述したい高レベルのテストに必要な構成を作成できます。

于 2011-05-24T17:09:31.077 に答える
0

さまざまな種類のテストを分離します。

  1. 機能テストを最初に行い、少量の模擬データを使用して単体テストを開始する必要があります。
  2. 次に、データ ストア内の少量のデータを使用して統合テストを行いますが、明らかに大きなデータ セットを含むストアと同じインスタンスではありません。
  3. パフォーマンスとスケーラビリティのテストを一緒に行うことで、開発の労力を削減できる可能性があります。

1 つの重要なヒント: テスト データ セットは、できるだけ現実的なものにする必要があります。本番データを使用し、必要に応じて匿名化します。ビッグ データのパフォーマンスはデータの統計的分布に依存するため、合成データは使用しません。たとえば、基本的に同じユーザー情報を持つ偽のユーザー データを 100 万回使用すると、値が広く分布している実際の乱雑なユーザー データとは大きく異なるスケーラビリティの結果が得られます。

より具体的なアドバイスが必要な場合は、使用しているテクノロジーを知る必要があります。Hadoop では、MRUnit を見てください。RDB の場合、DBUnit。Apache Bigtop は、特定のアプリケーション レベルのプロジェクトではなく、Hadoop のコア プロジェクトを対象としていますが、インスピレーションを与えることができます。

于 2014-11-12T15:14:39.467 に答える
0

いくつかの機能テストを行います。いくつか検討してください リスク管理手法は、この投稿を参照してくださいビッグデータでリスク管理を処理する方法これは役に立ちます。

于 2014-10-08T07:56:18.000 に答える
-1

パフォーマンスのテストと測定には、静的データ ソースと入力を使用できます (巨大なダンプ ファイルまたは sqlite DB である可能性があります)。

テストを作成して統合ビルドに含めると、特定の関数呼び出しに X 秒以上かかるようになり、エラーがスローされます。

システムを構築するにつれて、その数が増加し、テストが中断されることがわかります。

機能の 80% を得るために時間の 20% を費やすことができ、残りの 80% はパフォーマンスとスケーラビリティに費やされます :)

スケーラビリティ - サービス指向のアーキテクチャについて考える

于 2011-05-24T13:14:08.043 に答える