43.2. JMS のチューニング


JMS API を使用している場合は、以下の領域で最適化を行えます。
  • メッセージ ID を無効にします。MessageProducer クラスの setDisableMessageID() メソッドを使用してメッセージを無効にします (必要ない場合)。これにより、メッセージのサイズが削減され、一意の ID を作成するオーバーヘッドが回避されます。
  • メッセージタイムスタンプを無効にします。MessageProducer クラスの setDisableMessageTimeStamp() メソッドを使用して必要でないメッセージタイムスタンプを無効にします。
  • ObjectMessage を回避します。ObjectMessage は便利ですが、コストがかかります。ObjectMessage のボディーは Java シリアル化を使用してバイトにシリアル化します。小さいオブジェクトの Java シリアル化形式であっても冗長になり、サーバートラフィックが増加します。また、Java シリアル化はカスタムマーシャリングテクニックと比較して低速です。他のいずれかのメッセージタイプが適切でない場合 (たとえば、ペイロードのタイプが実行時まで不明な場合) のみ、ObjectMessage を使用します。
  • AUTO_ACKNOWLEDGE を回避します。AUTO_ACKNOWLEDGE モードは、クライアントで受け取る各メッセージに対してサーバーから送信される承認を必要とします。つまり、ネットワークでトラフィックが増加します。可能な場合は、DUPS_OK_ACKNOWLEDGECLIENT_ACKNOWLEDGE、またはトランザクションセッションを使用して、1 つの承認/コミットで多くの承認をバッチ処理します。
  • 耐性メッセージを回避します。デフォルトでは、JMS メッセージは耐性です。実際には耐性メッセージが必要ない場合は、メッセージを非耐性に設定します。耐性メッセージの場合は、メッセージをストレージに永続化するオーバーヘッドが大幅に増加します。
  • 1 つのトランザクションで多くの送信または承認をバッチ処理します。HornetQ は各送信時または承認時ではなくコミット時にネットワークラウンドトリップのみを必要とします。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat