We are considering using Camel in a project involving sending high volumes of FIX messages. We had no luck obtaining throughput numbers for our feasibility assessment and so we decided to run a number of tests to see how well the Camel quickfix component performs. We would like to publish our results here in case someone else might be looking for this information. Most tests were executed with message persistence turned off. We also ran a few tests with disk persistence enabled; there was no appreciable difference.
=================================== Test results =================================== * Application Camel 2.14.0 (all logging turned off except for throughput messages every 10 seconds) QuickFixJ 1.5.3 (EventHandlingStrategy queue size set to 5000) Apache MINA 1.1.0 * Routes 1. An order is sent by a client, received by the app, and is forwarded to the exchange. 2. A fill is sent by the exchange, received by the app, and is forwarded to the client. * Environment SUN FIRE X4270 M2 SERVER 2 physical CPUs (Intel Xeon X5680 @ 3.33GHz), 24 virtual CPUs SunOS 5.10 Generic_150401-13 * QuickFixJ configuration ScreenLogShowEvents=N ScreenLogShowIncoming=N ScreenLogShowOutgoing=N CheckLatency=N ThreadModel=ThreadPerSession PersistMessages=N * Test Run 1 JVM heap size: 512 min/max Runtime: 60 minutes Rate: 5000 messages per second Total number of messages processed: 17979195 Average CPU utilization: 6.9% * Test Run 2 JVM heap size: 512 min/max Runtime: 60 minutes Rate: 6000 messages per second Total number of messages processed: 21600000 Average CPU utilization: 8.4% * Test Run 3 JVM heap size: 512 min/max Runtime: 23 minutes Rate: 8000 messages per second Total number of messages processed: 11188398 Average CPU utilization: 12% * Test Run 4 JVM heap size: 512 min/max Runtime: 30 minutes Rate: 7000 messages per second Total number of messages processed: 12609889 Average CPU utilization: 10% * Test Run 5 JVM heap size: 512 min/max Runtime: 60 minutes Rate: 8500 messages per second Total number of messages processed: 30600000 Average CPU utilization: 12% * Test Run 6 3 clients and 3 exchanges JVM heap size: 512 min/max Runtime: 60 minutes Rate: 4000 messages per second Total number of messages processed: 14400000 * 3 = 43200000 Average CPU utilization: 19.5% -- View this message in context: http://camel.465427.n5.nabble.com/Performance-test-results-for-QuickFIX-J-component-tp5761343.html Sent from the Camel - Users mailing list archive at Nabble.com.