You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Romain Manni-Bucau <rm...@gmail.com> on 2012/11/29 12:13:07 UTC
Fwd: svn commit: r1415122 - in /openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd:
EjbDaemon.java KeepAliveServer.java
Hi Andy,
thought there was already a buffer in GZip impl
did you bench a bit?
on my little sample the difference was not that much important
any other results?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
---------- Forwarded message ----------
From: <an...@apache.org>
Date: 2012/11/29
Subject: svn commit: r1415122 - in
/openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd:
EjbDaemon.java KeepAliveServer.java
To: commits@openejb.apache.org
Author: andygumbrecht
Date: Thu Nov 29 11:07:27 2012
New Revision: 1415122
URL: http://svn.apache.org/viewvc?rev=1415122&view=rev
Log:
Still use buffered streams for gzip.
Modified:
openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java
openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/KeepAliveServer.java
Modified: openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java?rev=1415122&r1=1415121&r2=1415122&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java
(original)
+++ openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java
Thu Nov 29 11:07:27 2012
@@ -30,6 +30,8 @@ import org.apache.openejb.spi.ContainerS
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
@@ -97,11 +99,11 @@ public class EjbDaemon implements org.ap
return;
}
- in = socket.getInputStream();
- out = socket.getOutputStream();
+ in = new BufferedInputStream(socket.getInputStream());
+ out = new BufferedOutputStream(socket.getOutputStream());
if (gzip) {
- in = new GZIPInputStream(socket.getInputStream());
- out = new FlushableGZIPOutputStream(socket.getOutputStream());
+ in = new GZIPInputStream(new
BufferedInputStream(socket.getInputStream()));
+ out = new BufferedOutputStream(new
FlushableGZIPOutputStream(socket.getOutputStream()));
}
service(in, out);
Modified: openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/KeepAliveServer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/KeepAliveServer.java?rev=1415122&r1=1415121&r2=1415122&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/KeepAliveServer.java
(original)
+++ openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/KeepAliveServer.java
Thu Nov 29 11:07:27 2012
@@ -210,8 +210,8 @@ public class KeepAliveServer implements
in = new BufferedInputStream(socket.getInputStream());
out = new BufferedOutputStream(socket.getOutputStream());
} else {
- in = new GZIPInputStream(socket.getInputStream());
- out = new
FlushableGZIPOutputStream(socket.getOutputStream());
+ in = new GZIPInputStream(new
BufferedInputStream(socket.getInputStream()));
+ out = new BufferedOutputStream(new
FlushableGZIPOutputStream(socket.getOutputStream()));
}
while (running.get()) {
Re: Fwd: svn commit: r1415122 - in /openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd:
EjbDaemon.java KeepAliveServer.java
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Ok great,
thought playing with gzipXXX size was enough :(
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2012/11/29 AndyG <an...@orprovision.com>:
> Hi Romain,
>
> I use RMIIO extensively for large binary transfer that I modified with an
> almost identical fix to your flushable gzip implementation. I have tested
> this to death with and without buffering/gzip in the past.
>
> I have found that gzip works substantially better with buffered streams over
> a 'real' network, testing locally is unlikely to reveal massive gains on
> small data - The gzip streams have a 4k buffer, buffered streams an 8k.
>
> The difference in IO code between OpenEJB and RMIIO for this sake is
> trivial, so I have made an assumption (educated guess if you like) that this
> can only be of benefit.
>
> One RMIIO cycling 50mb random binary write test I have is along the lines
> of:
>
> client - buffer - gzip - network - buffer - gunzip - server - blob = 5sec
> av.
>
> client - buffer - network - buffer - server - blob = 7sec av.
>
> And just tested without buffering...
> client - gzip - network - gunzip - server - blob = 12sec av.
>
> So over a day quite a lot!
>
> Andy.
>
>
>
> --
> View this message in context: http://openejb.979440.n4.nabble.com/Fwd-svn-commit-r1415122-in-openejb-trunk-openejb-server-openejb-ejbd-src-main-java-org-apache-openeja-tp4658985p4658989.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: Fwd: svn commit: r1415122 - in
/openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd:
EjbDaemon.java KeepAliveServer.java
Posted by AndyG <an...@orprovision.com>.
Hi Romain,
I use RMIIO extensively for large binary transfer that I modified with an
almost identical fix to your flushable gzip implementation. I have tested
this to death with and without buffering/gzip in the past.
I have found that gzip works substantially better with buffered streams over
a 'real' network, testing locally is unlikely to reveal massive gains on
small data - The gzip streams have a 4k buffer, buffered streams an 8k.
The difference in IO code between OpenEJB and RMIIO for this sake is
trivial, so I have made an assumption (educated guess if you like) that this
can only be of benefit.
One RMIIO cycling 50mb random binary write test I have is along the lines
of:
client - buffer - gzip - network - buffer - gunzip - server - blob = 5sec
av.
client - buffer - network - buffer - server - blob = 7sec av.
And just tested without buffering...
client - gzip - network - gunzip - server - blob = 12sec av.
So over a day quite a lot!
Andy.
--
View this message in context: http://openejb.979440.n4.nabble.com/Fwd-svn-commit-r1415122-in-openejb-trunk-openejb-server-openejb-ejbd-src-main-java-org-apache-openeja-tp4658985p4658989.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.