1

SMPPアプリケーションを開発しました。SMS の受信速度は、1 秒あたりわずか 16 SMS です。どうすればこの速度を上げることができますか?

4

3 に答える 3

1

何よりもまず、JRat でアプリケーションのプロファイリングを行うことをお勧めします。最適化する前に、最適化する場所を知る必要があります。

そうは言っても、私もこれを経験しました。私が遭遇した最大のボトルネックはServerPDUEventListener実装でした。私の最初のバージョンでは、そのクラスのすべての着信 PDU を処理していました。これはそれらへのアクセスをシリアル化し、一部はデータベース アクセスを行っていました。これを解決する方法は、実際にはより詳細な方法で処理したい PDU のスレッドを生成することです。私の場合、これはDELIVER_SMPDU とSUBMIT_SM_RESPPDU でしたが、開発している実際のアプリケーションによって異なります。それらを別々のスレッドで処理することで、私のメインServerPDUEventListenerは自由に次の PDU を処理し続けることができました。ボトルネックは、サーバー ソケットの実装に似ていますaccept。クライアント ソケットを使用するときはいつでも、別の着信接続のリッスンに戻り、別のスレッドで通信を処理する必要があります。

于 2010-01-20T09:43:10.867 に答える
0

Javaで書かれた、どんな種類のアプリケーションですか?

いくつかのこと 1. 処理に最も時間がかかっている場所を確認します。これは解決策 2 につながります。メッセージをキューに入れ、処理する処理フローを最適化できます。

ハードウェア構成など、他の要因も関係していますが、通常のハードウェアはまともなパフォーマンスを提供します。

于 2010-01-20T09:34:35.710 に答える
0

まず、すべての着信および発信 SMS を非同期モードで処理します。たとえば、jsmpp lib では、すべてのトラフィックを非同期および同期モードで処理できます。最初のモードはマッハより高速です。

可能であれば、すべての重いビジネス ロジックを個別のスレッドで処理し、可能であればエンタープライズ Java Bean などで処理します。トラフィックが非常に大きく、ビジネス ロジックが重すぎる場合は、ビジネス ロジックに smpp およびエンタープライズ Java Bean で非同期モードを使用すると、アプリケーション アーキテクチャを大幅に改善できます。

于 2012-10-22T17:36:52.167 に答える