この質問は非常に一般的であることを認識しており、Linux (RedHat 5) と Windows (2008 Server) のパフォーマンスの違いを調整する方法について、非常に一般的な意見を求めています。私は、まったく同じハードウェア上の Linux と Windows で約半分の容量で実行しているように見えるネットワーク オフのネットフロー パケットを処理している複数のサービスのコレクションである Java アプリケーションを持っています。このアプリケーションでは、パケットをソケットから取り出し、パケットに対して非常に単純な処理を実行し、圧縮された出力ファイルを書き出して、別の C++ アプリケーションによって下流で処理されます。
関連するプログラム内の領域: ソケットからパケットをプルする データベース アクセス (mysql 5.1.45) 大量のファイル I/O
最適化に関する限り、私は Linux の経験がほとんどありません。Windows とは異なる Linux でこれを最適化しようとするときに注意すべき点を誰かが指摘できれば幸いです。
また、他にどのような情報を提供できるかは完全にはわかりません。のように、私は多くの有用な情報を提供していないことを知っています.正しい方向に私を向ける質問をいただければ幸いです.
Linux と Windows で Java パフォーマンスのベンチマークを提供するユーティリティはありますか?
質問が意味をなさない場合、または有用な質問をするには情報が少なすぎる場合は、遠慮なく私を撃ってください。
ありがとう!
編集:すべてのjvm設定は同じです(関連するサービスの両方のケースでまったく同じラッパー構成ファイルを使用します)
編集:当面の間、この問題を表にしたいと思います。基本的なプロファイラーを実行して結果を比較することを除けば、これ以上の調査にこれ以上多くの時間を費やすことができませんでした。Linux と Windows の両方での結果は、NIC からパケットを引き出す際の大幅な遅延を除けば、ほぼ同じに見えます。なぜこれが事実なのか、それとも他のネットワーク状態に関連する異常なのかはまだわかりません. これをもう一度見る時間ができたら、もっと投稿します。
答えてくれてありがとう!