Sadly no, I spent some time playing round with the client/server code to try and increase efficiency, but the best round trip time I could get was 44ms for a get request. I believe this is where hotrod should come into play.<br>

<br><div class="gmail_quote">On Tue, Nov 24, 2009 at 11:18 PM, Manik Surtani <span dir="ltr">&lt;<a href="mailto:manik@jboss.org">manik@jboss.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Did we ever get to the bottom of this?<br>
<div><div></div><div class="h5"><br>
On 19 Nov 2009, at 07:36, Bela Ban wrote:<br>
<br>
&gt; I looked at your test and noticed you&#39;re using<br>
&gt; Object{Output,Input}Streams. These are very inefficient !<br>
&gt;<br>
&gt; I suggest use simple data types for now, e.g. only ints for keys and<br>
&gt; values. This way you could send a put as CMD | KEY | VAL, which is 3<br>
&gt; ints. This would allow you to simply use a Data{Output,Input}Stream.<br>
&gt;<br>
&gt; This is not the real world, I know, but we should focus on round trip<br>
&gt; times and latency before we get into complex data type marshalling overhead.<br>
&gt;<br>
&gt;<br>
&gt; Michael Lawson (mshindo) wrote:<br>
&gt;&gt; We have rejected the possibility of the problem being related to JGroups, as<br>
&gt;&gt; when running then same configuration locally (not on the amazon e2).<br>
&gt;&gt;<br>
&gt;&gt; *Let me outline the testing more specifically:*<br>
&gt;&gt;<br>
&gt;&gt; I have created a very simple socket client and server to communicate with<br>
&gt;&gt; infinispan nodes. This provides a mechanism to connect, send get and insert<br>
&gt;&gt; commands coupled with the required data to the targeted infinispan nodes.<br>
&gt;&gt; These insertions and retrievals are then timed from the client. As it stands<br>
&gt;&gt; this system works perfectly in a local environment on my own network.<br>
&gt;&gt; However as soon we attempt to test on the amazon e2 cloud, which is required<br>
&gt;&gt; for benchmarking against other products, the retrieval times jump from under<br>
&gt;&gt; a millisecond to around 160ms dependent on the value size number of nodes in<br>
&gt;&gt; the cluster.<br>
&gt;&gt;<br>
&gt;&gt; The reason we are testing using this client -&gt; server model is that we are<br>
&gt;&gt; also testing concurrency, to see what happens when we send thousands of<br>
&gt;&gt; requests from different sources.<br>
&gt;&gt;<br>
&gt;&gt; I have used TCPPing both locally and on the amazon cloud (as multi-casting<br>
&gt;&gt; is not allowed in this environment), and the results are exactly the same.<br>
&gt;&gt; Perfect numbers locally, bad numbers remotely. This is proving to be quite a<br>
&gt;&gt; mystery.<br>
&gt;&gt;<br>
&gt;&gt; I have uploaded my client and server code online base code:<br>
&gt;&gt; <a href="http://pastebin.org/54960" target="_blank">http://pastebin.org/54960</a>.<br>
&gt;&gt;<br>
&gt;&gt; Any clues ?<br>
&gt;&gt;<br>
&gt;&gt; On Wed, Nov 18, 2009 at 4:34 PM, Michael Lawson (mshindo) &lt;<br>
&gt;&gt; <a href="mailto:michael@sphinix.com">michael@sphinix.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; Are there any official socket clients available?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Tue, Nov 17, 2009 at 11:40 PM, Manik Surtani &lt;<a href="mailto:manik@jboss.org">manik@jboss.org</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On 17 Nov 2009, at 04:54, Michael Lawson (mshindo) wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; The benchmarking in question is simple insertions and retrievals run via<br>
&gt;&gt;&gt;&gt; sockets, these benchmarks return better results when run on a local machine,<br>
&gt;&gt;&gt;&gt; however the testing in question is being done on the Amazon E2 cloud.<br>
&gt;&gt;&gt;&gt; Running on the E2 was a problem in itself, but I followed the instructions<br>
&gt;&gt;&gt;&gt; on a blog and used an xml file to configure the transport properties.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &lt;config xmlns=&quot;urn:org:jgroups&quot; xmlns:xsi=&quot;<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>&quot;  xsi:schemaLocation=&quot;urn:org:jgroups file:schema/JGroups-2.8.xsd&quot;&gt;<br>


&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;        &lt;TCP bind_port=&quot;7800&quot; /&gt;<br>
&gt;&gt;&gt;&gt;        &lt;TCPPING timeout=&quot;3000&quot;<br>
&gt;&gt;&gt;&gt;                 initial_hosts=&quot;${jgroups.tcpping.initial_hosts:10.209.166.79[7800],10.209.198.176[7800],10.208.199.223[7800],10.208.190.224[7800],10.208.70.112[7800]}&quot;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;                port_range=&quot;1&quot;<br>
&gt;&gt;&gt;&gt;                num_initial_members=&quot;3&quot;/&gt;<br>
&gt;&gt;&gt;&gt;         &lt;MERGE2 max_interval=&quot;30000&quot;  min_interval=&quot;10000&quot;/&gt;<br>
&gt;&gt;&gt;&gt;         &lt;FD_SOCK/&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;         &lt;FD timeout=&quot;10000&quot; max_tries=&quot;5&quot; /&gt;<br>
&gt;&gt;&gt;&gt;         &lt;VERIFY_SUSPECT timeout=&quot;1500&quot;  /&gt;<br>
&gt;&gt;&gt;&gt;        &lt;pbcast.NAKACK<br>
&gt;&gt;&gt;&gt;                 use_mcast_xmit=&quot;false&quot; gc_lag=&quot;0&quot;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;                 retransmit_timeout=&quot;300,600,1200,2400,4800&quot;<br>
&gt;&gt;&gt;&gt;                discard_delivered_msgs=&quot;true&quot;/&gt;<br>
&gt;&gt;&gt;&gt;        &lt;UNICAST timeout=&quot;300,600,1200&quot; /&gt;<br>
&gt;&gt;&gt;&gt;        &lt;pbcast.STABLE stability_delay=&quot;1000&quot; desired_avg_gossip=&quot;50000&quot;  max_bytes=&quot;400000&quot;/&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;         &lt;pbcast.GMS print_local_addr=&quot;true&quot; join_timeout=&quot;3000&quot;   view_bundling=&quot;true&quot;/&gt;<br>
&gt;&gt;&gt;&gt;        &lt;FC max_credits=&quot;2000000&quot;  min_threshold=&quot;0.10&quot;/&gt;<br>
&gt;&gt;&gt;&gt;        &lt;FRAG2 frag_size=&quot;60000&quot;  /&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;        &lt;pbcast.STREAMING_STATE_TRANSFER/&gt;<br>
&gt;&gt;&gt;&gt; &lt;/config&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I have a theory, that perhaps the introduction of TCPPING in the jgroups<br>
&gt;&gt;&gt;&gt; file is resulting in some form of polling before the actual get request is<br>
&gt;&gt;&gt;&gt; processed and returned. Could this be the case ?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; It could be - JGroups also has an experimental protocol called S3_PING<br>
&gt;&gt;&gt;&gt; which could help.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; <a href="http://javagroups.cvs.sourceforge.net/viewvc/javagroups/JGroups/src/org/jgroups/protocols/S3_PING.java?revision=1.2&amp;view=markup" target="_blank">http://javagroups.cvs.sourceforge.net/viewvc/javagroups/JGroups/src/org/jgroups/protocols/S3_PING.java?revision=1.2&amp;view=markup</a><br>


&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Another approach for discovery in an EC2 environment is to use a<br>
&gt;&gt;&gt;&gt; GossipRouter, but I&#39;d give S3_PING a try first.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Cheers<br>
&gt;&gt;&gt;&gt; Manik<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Tue, Nov 17, 2009 at 12:03 AM, Manik Surtani &lt;<a href="mailto:manik@jboss.org">manik@jboss.org</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Hi Michael<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Could you please detail your benchmark test a bit more?  We have done<br>
&gt;&gt;&gt;&gt;&gt; some internal benchmarks as well and things do look significantly different.<br>
&gt;&gt;&gt;&gt;&gt; Could you also tell us which version you have been benchmarking?  We&#39;ve<br>
&gt;&gt;&gt;&gt;&gt; made some significant changes to DIST between CR1 and CR2 with regards to<br>
&gt;&gt;&gt;&gt;&gt; performance.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; FYI, we use the CacheBenchFwk [1] to help benchmark stuff; you may find<br>
&gt;&gt;&gt;&gt;&gt; this useful too.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Cheers<br>
&gt;&gt;&gt;&gt;&gt; Manik<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; [1] <a href="http://cachebenchfwk.sourceforge.net" target="_blank">http://cachebenchfwk.sourceforge.net</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On 15 Nov 2009, at 22:00, Michael Lawson (mshindo) wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;&gt;&gt;&gt; I have been performing some benchmark testing on Infinispan Running in<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Distributed mode, with some unexpected results.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; For an insertion with a Key size of 100 Bytes, and Value size 100<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Bytes, the insertion time was 0.13ms and retrieval was 128.06ms.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Communication with the infinispan nodes is being done via a socket<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; interface, using standard java serialization.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; The retrieval time is consistently high in comparison to other systems,<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; and I am wondering whether there are some other benchmark reports floating<br>
&gt;&gt;&gt;&gt;&gt; around that I can compare results with.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt;&gt; Michael Lawson<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt;&gt;&gt; infinispan-dev mailing list<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt; Manik Surtani<br>
&gt;&gt;&gt;&gt;&gt; <a href="mailto:manik@jboss.org">manik@jboss.org</a><br>
&gt;&gt;&gt;&gt;&gt; Lead, Infinispan<br>
&gt;&gt;&gt;&gt;&gt; Lead, JBoss Cache<br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.infinispan.org" target="_blank">http://www.infinispan.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.jbosscache.org" target="_blank">http://www.jbosscache.org</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt;&gt; infinispan-dev mailing list<br>
&gt;&gt;&gt;&gt;&gt; <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; Michael Lawson<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; infinispan-dev mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; Manik Surtani<br>
&gt;&gt;&gt;&gt; <a href="mailto:manik@jboss.org">manik@jboss.org</a><br>
&gt;&gt;&gt;&gt; Lead, Infinispan<br>
&gt;&gt;&gt;&gt; Lead, JBoss Cache<br>
&gt;&gt;&gt;&gt; <a href="http://www.infinispan.org" target="_blank">http://www.infinispan.org</a><br>
&gt;&gt;&gt;&gt; <a href="http://www.jbosscache.org" target="_blank">http://www.jbosscache.org</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; infinispan-dev mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; Michael Lawson (mshindo)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; ------------------------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; infinispan-dev mailing list<br>
&gt;&gt; <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt;<br>
&gt; --<br>
&gt; Bela Ban<br>
&gt; Lead JGroups / Clustering Team<br>
&gt; JBoss<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; infinispan-dev mailing list<br>
&gt; <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
<br>
--<br>
Manik Surtani<br>
<a href="mailto:manik@jboss.org">manik@jboss.org</a><br>
Lead, Infinispan<br>
Lead, JBoss Cache<br>
<a href="http://www.infinispan.org" target="_blank">http://www.infinispan.org</a><br>
<a href="http://www.jbosscache.org" target="_blank">http://www.jbosscache.org</a><br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
infinispan-dev mailing list<br>
<a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Michael Lawson (mshindo)<br><br>