Stress testing the quickfix/j

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Stress testing the quickfix/j

ilyas.usal
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/

Hello,

I'm currently trying to stress test the C++ quickfix engine using a Java
quickfix/j engine (using banzai). I've modded the gui to be able to send
lots of orders, but I'm unable to send more than 1 order every 5 ms.
So before I try to modify anything in the engine (removing logs would my
first idea), has anyone ever managed to send orders at a higher rate (I'm
trying to achieve 1 per ms at least)?

Thanks,
Ilyas


This message and any attachments (the "message") is
intended solely for the addressees and is confidential.
If you receive this message in error, please delete it and
immediately notify the sender. Any use not in accord with
its purpose, any dissemination or disclosure, either whole
or partial, is prohibited except formal approval. The internet
can not guarantee the integrity of this message.
BNP PARIBAS (and its subsidiaries) shall (will) not
therefore be liable for the message if modified.

                ---------------------------------------------

Ce message et toutes les pieces jointes (ci-apres le
"message") sont etablis a l'intention exclusive de ses
destinataires et sont confidentiels. Si vous recevez ce
message par erreur, merci de le detruire et d'en avertir
immediatement l'expediteur. Toute utilisation de ce
message non conforme a sa destination, toute diffusion
ou toute publication, totale ou partielle, est interdite, sauf
autorisation expresse. L'internet ne permettant pas
d'assurer l'integrite de ce message, BNP PARIBAS (et ses
filiales) decline(nt) toute responsabilite au titre de ce
message, dans l'hypothese ou il aurait ete modifie.


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|

Re: Stress testing the quickfix/j

Stephen Bate
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/
Hello Ilyas,

It's been a while since I've run performance tests but the last
time I did I was seeing about 5K msg/sec on a single core Pentium
box. Others have reported higher rates (~ 10k/sec). Of course, both
of these rates use a memory store and no logging. They were also
using streamlined order sender/receivers. Banzai itself might have
concurrency issues that slow down the processing. It's just a very
simple example of a FIX client.

This is one of the reasons I don't publish performance data. Adding
a file store will significantly lower the numbers. At that point, you
are really testing the speed of your disk subsystem. If you have a file
store and a file log it's going to be even slower. And JDBC will slow
it down yet again. This is even before the application processing in a
real application is taking into account. There are many other considerations
that can also impact performance. Some examples are the operating
system networking efficiency, the NIC (if not using loopback for the
test), the processor architecture (cache, core count), how the socket
options are configured, and JVM tuning. I've seen JVM tuning alone have
significant impact on real Java application performance. I'm guessing
the same would be true for performance test applications.

In most real applications, the FIX engine is a small contributor to
the throughput measurements. For stress testing though, definitely use
a memory store, don't provide a log implementation (QFJ will use a
null log), and don't use data dictionary validation of the messages
(which means you can't use repeating groups, data fields, etc.). Also
be sure you give the JVM plenty of memory so it doesn't have to do
much garbage collection.

Steve

> -----Original Message-----
> From: [hidden email] [mailto:quickfixj-
> [hidden email]] On Behalf Of
> [hidden email]
> Sent: Tuesday, June 05, 2007 6:12 AM
> To: [hidden email]
> Subject: [Quickfixj-users] Stress testing the quickfix/j
>
> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
> Hello,
>
> I'm currently trying to stress test the C++ quickfix engine using a Java
> quickfix/j engine (using banzai). I've modded the gui to be able to send
> lots of orders, but I'm unable to send more than 1 order every 5 ms.
> So before I try to modify anything in the engine (removing logs would my
> first idea), has anyone ever managed to send orders at a higher rate (I'm
> trying to achieve 1 per ms at least)?
>
> Thanks,
> Ilyas
>
>
> This message and any attachments (the "message") is
> intended solely for the addressees and is confidential.
> If you receive this message in error, please delete it and
> immediately notify the sender. Any use not in accord with
> its purpose, any dissemination or disclosure, either whole
> or partial, is prohibited except formal approval. The internet
> can not guarantee the integrity of this message.
> BNP PARIBAS (and its subsidiaries) shall (will) not
> therefore be liable for the message if modified.
>
>                 ---------------------------------------------
>
> Ce message et toutes les pieces jointes (ci-apres le
> "message") sont etablis a l'intention exclusive de ses
> destinataires et sont confidentiels. Si vous recevez ce
> message par erreur, merci de le detruire et d'en avertir
> immediatement l'expediteur. Toute utilisation de ce
> message non conforme a sa destination, toute diffusion
> ou toute publication, totale ou partielle, est interdite, sauf
> autorisation expresse. L'internet ne permettant pas
> d'assurer l'integrite de ce message, BNP PARIBAS (et ses
> filiales) decline(nt) toute responsabilite au titre de ce
> message, dans l'hypothese ou il aurait ete modifie.
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users