我在QuickfixJ中处理速度有问题.我在this question读到可以处理300消息/秒.我还在其他地方看到了成千上万的报道.我的Quickfix会话代码接收消息列表并通过Sesssion.SendToTarget()逐个发送;
我发送消息的循环可能会减慢我的速度,但我想知道是否有办法发送消息列表或加快发送这些消息的过程.也许有可能因为我正在登录屏幕,这使我放慢了速度.运行它无头并记录到文件日志,我会受益吗?
解决方法:
我已经看到QuickFIX / J处理消息的速度是每秒数千.但是,您将无法在单个FIX会话中获得该性能.我正在描述的场景涉及多个会话.这是显着的原因是由于FIX序列号,FIX协议在每个会话中本质上是顺序的.如果您有一个会话,这实际上意味着您有一个线程处理消息.通过多个会话,引擎可以利用多个线程和处理器.
一般来说,文件I / O是主要的开销.寻找优化文件系统访问的方法.如果您运行没有日志记录的引擎和MemoryStore,您会发现它非常快.我不会将它用于极端低延迟的应用程序,但它并不坏.