Closed zachkinstner closed 11 years ago
The Gremlin extension consistently performs the best. Consider trying to create a RexConnect extension.
Regarding Grizzly filters -- use of StringFilter was just a first attempt, after looking at some example code. Consider these options instead:
Consider trying to create a RexConnect extension.
Done, and it seems to work quite well. Initial tests showed that it performed very close to the Gremlin extension.
Also, the new RexPro serializers may provide a boost -- see #31.
Ideas:
Use the new JSON RexPro serializer, bypassing the MsgPack de/serialization
This would only help if RexConnect were not using RexsterClient
, since the response is already deserialized by the time it gets back to RexConnect. In any case, the trade-off would be (possibly) less de/serialization time, but (possibly) more transmission times due to larger data flowing between RexPro and the database.
Cache a pool of RexsterClient instances
RexConnect now uses just one static RexsterClient
instance. So far, it seems to work fine.
The potential for further optimization seems limited now. The best opportunities I can see are:
Recent testing shows that the 3000ms+ problem was related to the database server (laptop on local network) being connected via wireless. Connecting via ethernet resolved the issue. I have un-done the recent Netty support for now.
Closing this for now. Will move TCP streaming to a separate ticket.
Review results of the latest Fabric performance tests. Investigate ways to improve RexConnect performance. Notes from the results: