JavaのRPC - 07:Extrasとパフォーマンス

エンリケから9月6日、2009 応答を残しなさい»

これは、私には、いくつかの余分なRPCは、私たちはアプリケーションサーバを実装するために機能するサーバである探るが、汎用性を失わずになるこのシリーズの前回の記事です。 我々はまた、サーバを持っているthrougput(秒当たりのリクエスト数を)見て、パフォーマンステストを実行する必要があります。

エクストラ

サーバ側のサービスは、初期化パラメータを取ります。 これは、私たちはサービスを構成するためにデータを渡すことができるようになります。 これらのパラメータは、設定されたマップを返すサービスクラスのGetParametersメソッド()、を介してアクセスされます。

検証サービス

サーバにサービスを追加する前に、次のチェックを実行します。

  • サービスの実装は、パラメータなしのコンストラクタを持つ必要があること

  • サービス実装は、サービスのインタフェースを実装する必要があること

  • サービスのメソッドをオーバーロードしないでください。

  • メソッドパラメータの戻り値の型はシリアライズ可能に

これらのチェックは、一般的な間違いを避けるのに役立ちます。

実行を許可

onPreExecution:あなたが実際に実行する前に、サービスメソッドは、インターセプタを起動されます。 成功した場合ではない非常にNotExecutedException場合、その後、サービスを呼び出すために気絶。 これは、例えば、実装するために使用されようとしている、セキュリティメカニズムと監査(ログ記録)。

のパフォーマンス

パフォーマンステストで我々は、デザインは私たちが望んだようにスケーラブルであるかどうかを確認してください。 テストは、32ビットのUbuntu 9.04のとJava6を上に2GBのRAMを搭載したIntelのモデルT9500(C2D 2.6GHzの、6MBキャッシュPenrynのコア)を持つノートブック上で行った。 結果は次のとおりだった:

事例 クライアントプロセス クライアントスレッド スレッドによる受注 総受注 時間(秒) リクエスト/秒

1

5

30

2500

375000

207

1811.59

2

10

30

2500

75万

229

3275.11

注文の数が倍になるが、時間は10.6%で行く:厳格なストレステストではありませんが、サービスのパフォーマンスとスケーラビリティの良い近似を与える。 また、受注がサービス層に同梱されている層の労働者の注文のプールの大きさであるサーバーの作成時に調整することができる値があります。 デフォルトのサイズは10ですが、あなたが直面している場合、マルチCPU構成では、より良いパフォーマンスを得るためには、この値を増やすことができます。 パフォーマンステストのために我々は10労働者のプールを使用していました。

RPCメカニズムの古いバージョンに基づいて、アプリケーションサーバーは、数年前からの場所にウルグアイで最大の銀行の1つです。

次の記事では、アプリケーションサーバーへの導入を開始し、主なコンポーネントは何か。

お楽しみに!

ブロガーポスト Diggの のreddit Googleリーダー シェア
広告

コメントを残す

キャプチャ-無料WPによるスパム防御