|
From: bmazlish <bma...@ya...> - 2007-03-22 22:02:54
|
I am trying to understand the performance hit I get by using a FileLogStore. In reading through the archives of quickfix, the filelogstore appears to add a marginal performance hit (message by Oren Miller dated 8-8-2006). However, this is not my experience with quickfix/j. In order to test this out, I turn off all logging so that the only i/o is the messagestore. When I run 5000 new order singles through my test program, each call to Session.sendToTarget takes under a millisecond when using a MemoryStore. However, when I replace the MemoryStore with a FileStore my performance drops and each call takes ~75 milliseconds for each call. In digging through the code, it appears that the randomaccessfiles are being initialized with the "rwd" mode -- thus requiring every message to get written to disk. I have two questions: 1- Is 75 ms reasonable? It seems far greater than the stats I have seen from the quickfix archive list-- is this a java vs C issue? 2- If i were to change the constructors of the RandomAccessFiles to just use "rw" mode, I believe I would be safe as long as the OS doesn't crash. Is this correct? Thanks for your help. I am running this on an HP DL145 server class machine running fc4 with hardware raid scsi drives and JVM 1.5.11. |