2016-05-23 11 views
0

Wir erstellen eine Java-Anwendung mit niedriger Latenz mit QuickFIX/J. Wir haben rund 50 Währungspaare abonniert, so dass wir rund 4000000 Ticks pro Tag bekommen. Dies liegt daran, dass wir sie von verschiedenen Liquiditätsanbietern beziehen.GC-Problem mit QuickFIX/J

Ich sehe viele GC passiert und zu Spitzenzeit unsere Anwendung hängt und nicht reagiert. Ich habe es mit 64 GB Heap versucht und auch mit G1 für GC versucht aber keinen Erfolg. Können Sie mir bitte vorschlagen, wie ich dieses Problem lösen kann?

Waren Sie schon früher mit diesem Problem konfrontiert und welche GC-Optimierung haben Sie vorgenommen?

Sollte ich von QuickFIX/J wechseln und mit einer anderen FIX-Engine versuchen? Können Sie bitte eine Open Source/Commercial FIX Engine vorschlagen, die meine Anforderungen erfüllen kann?

Momentan verwende ich Java 7. Wäre es hilfreich, nach Java 8 zu wechseln?

+0

Ok QuickixJ ist nicht für den Durchsatz ausgelegt, mit dem Sie es zu tun haben. Es ist besser, QuickfixJ anzupassen oder mit Ihrer JVM zu arbeiten. – DumbCoder

Antwort

0

Wenn wir annehmen, dass Sie einen Arbeitstag von 8 Stunden haben, erhalten Sie 138 Ticks/Sekunde pro Durchschnitt. Ich bin mir bewusst, dass es die Extreme sind, die zählen, aber das ist alles, was wir haben. 138 Ticks/Sekunden sollte überhaupt kein Problem sein. Wir bekommen diese x100 jeden Tag mit einem 2-GB-Heap ohne Probleme. Wahrscheinlichkeiten sind, haben Sie ein Speicherleck. Haben Sie GC Logging? Wenn nicht, installieren Sie es sofort.

Dies sind die Fahnen verwenden wir:

-Xloggc:/gc - $ (Datum + "% 0d-% 0m-% y-% 0k% M") gclog -XX.: + PrintGCDetails -XX: + PrintGCTimeStamps -XX: + PrintHeapAtGC -XX: + PrintTenuringDistribution -XX: + PrintGCApplicationStoppedTime -XX: + PrintGCCause

GC Protokollierung sehr geringe Auswirkungen auf die Leistung hat. Wenn Sie das GC-Protokoll veröffentlichen, sobald Sie es bekommen haben, können wir es weiter bringen.

+0

Danke für die Antwort i GC-Protokolle ermöglichen würde und schreiben – user1047873

+0

http://gceasy.io/my-gc-report.jsp?p=L2hvbWUvcmFtL3VwbG9hZC9pbnN0YW5jZTEvc2hhcmVkLzIwMTYtNS0yNi9nY2xvZy5nY2xvZy0xNC0zMi0yMg== – user1047873

+0

dies ist mein Bericht aber für shortter Dauer. Ich würde für den kompletten Tag run – user1047873