2016-05-23 10 views
0

Мы создаем приложение с низкой задержкой Java с QuickFIX/J. Мы подписываемся примерно на 50 валютных пар, поэтому мы получаем около 4000000 тиков в день. Это связано с тем, что мы получаем их от разных поставщиков ликвидности.Проблема с GC с QuickFIX/J

Я вижу много GC, и в пиковое время наше приложение висит и не отвечает. Я пробовал с 64-гигабайтной кучей, а также пытался с G1 для GC, но не имел успеха. Можете ли вы предложить, как я могу решить эту проблему?

Вы столкнулись с этой проблемой раньше и какой GC-оптимизацией вы сделали?

Должен ли я перейти от QuickFIX/J и попробовать с помощью другого FIX-движка? Можете ли вы предложить некоторый движок FIX с открытым исходным кодом/коммерческим движком, который может выполнить мое требование?

В настоящее время я использую Java 7. Будет ли полезно переходить на Java 8?

+0

Ok QuickixJ не предназначен для пропускной способности, с которой вы имеете дело. Лучше вы настраиваете QuickfixJ или возиться с JVM. – DumbCoder

ответ

0

Если мы предположим, что у вас есть рабочий день 8 часов, вы получаете 138 тиков в секунду. Я хорошо знаю, что это крайности, которые считаются, но это все, что у нас есть. 138 тиков/секунд не должно быть проблемой вообще. Мы получаем этот x100 каждый день с кучей 2 ГБ без проблем. Скорее всего, у вас есть утечка памяти. У вас есть gc logging? Если вы этого не сделаете, установите его немедленно.

Эти флаги, которые мы используем:

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

ОГО каротаж имеет очень небольшое влияние на производительность. Если вы опубликуете журнал gc, как только получите его, мы сможем его продолжить.

+0

Спасибо за ответ я бы включить журналы GC и будет размещать – user1047873

+0

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

+0

это мой отчет, но и для продолжительности shortter. Я бы опубликовал полный рабочий день – user1047873