[
http://jira.jboss.com/jira/browse/JBCACHE-800?page=comments#action_12345778 ]
Tomas Topinka commented on JBCACHE-800:
---------------------------------------
As I said before, only wrap basic OutputStream and InputStream with Buffer is enough to
increase performance rapidly ( 70x ).
output = new ObjectOutputStream( new BufferedOutputStream( sock.getOutputStream() ) );
input = new ObjectInputStream( new BufferedInputStream( sock.getInputStream() ) );
in TcpCacheServer.java and TcpDelegatingCacheloader.java ( same for RMI )
You also have to reset ObjectStream sometimes, otherwise you will get the OutOufMemeory
exeption !
When you are sending really huge objects with many Lists and Maps, also reseting of
ObjectStream increase performance rapidly, because cache in ObjectStream do not have to
compare objects ( which is very time consuming for huge objects ).
Performance problem with TCP & RMI Cache loaders
------------------------------------------------
Key: JBCACHE-800
URL:
http://jira.jboss.com/jira/browse/JBCACHE-800
Project: JBoss Cache
Issue Type: Task
Security Level: Public(Everyone can see)
Components: Cache loaders
Affects Versions: 1.4.0.SP1
Environment: All platforms
Reporter: Tomas Topinka
Assigned To: Manik Surtani
Fix For: 1.4.0.SP2, 2.0.0
Using of basic Output/Input stream leads to fatal performance problems.
Solution :
Using of BufferedOutput/InputStream in TcpDelegatingCacheLoader/TcpCacheServer as well as
in RMI increase the performace rapidly.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira