2016-05-23 3 views
0

QuickFIX/Jを使用して低遅延のJavaアプリケーションを作成しています。私たちは約50通貨ペアを購読しているので、1日あたり約4000000ティックになります。これは、異なる流動性の提供者から得ているからです。QuickFIX/JによるGCの問題

私は多くのGCが起こっているのを見ており、ピーク時にはアプリケーションがハングし応答していません。私は64 GBのヒープで試してみましたが、GC用にG1を試しましたが、成功しませんでした。私はこの問題をどのように解決できるかお勧めしますか?

この問題は以前に直面しましたか、どのようなGC最適化を行っていますか?

QuickFIX/Jから移行し、他のFIXエンジンで試してください。私の要求を満たすことができるオープンソース/商用のFIXエンジンをお勧めしますか?

現在、私はJava 7を使用しています。Java 8への移行は役に立ちますか?

+0

Ok QuickixJは、処理しているスループット用に設計されていません。 JVMでQuickfixJやtinkerをカスタマイズする方が良いでしょう。私は、GCログを可能にし、 – DumbCoder

答えて

0

就業時間が8時間であると仮定すると、平均で138ティック/秒です。私はそれが数え切れないほど極端であることをよく承知していますが、これが私たちにはすべてあります。 138ティック/秒は問題ではありません。私たちは問題なく2GBのヒープで毎日x100を得る。 メモリリークが発生している可能性があります。 gcロギングは行っていますか? インストールしない場合は、すぐにインストールしてください。

-Xloggc:

これらは我々が使用するフラグです。 - :+ PrintGCDetails /GC $(日付+ "%0d-%0m-%Y-%0K%M") -XXをgclog -XX:+ PrintGCTimeStamps -XX:+ PrintHeapAtGC -XX:+ PrintTenuringDistribution -XX:+ PrintGCApplicationStoppedTime -XX:+ PrintGCCause

GCロギングは非常に小さなパフォーマンスへの影響を持っています。 入手したgcログを投稿した場合、それをさらに利用できます。

+0

おかげで – user1047873

+0

http://gceasy.io/my-gc-report.jsp?p=L2hvbWUvcmFtL3VwbG9hZC9pbnN0YW5jZTEvc2hhcmVkLzIwMTYtNS0yNi9nY2xvZy5nY2xvZy0xNC0zMi0yMg==を投稿するだろう答えのための – user1047873

+0

これは私のレポートが、shortter期間のためです。私は完全な日の実行のために投稿するだろう – user1047873

関連する問題