Thanks for the suggestions. 

I have been working on other issues for a while, but got back to this
issue again recently. 

I implemented simple handlers in the requestFlow and in the responseFlow
that adds/strips the attachments from the SOAP messages after/before
they reach Axis on both client/server sides. 

I also changed my Axis 1.1 to be able to crank up the size of
attachments before they are flushed to disk
(org.apache.axis.attachments.ManagedMemoryDataSource class and its
MAX_MEMORY_DISK_CACHED which have a default of only 16KB). It would be a
good thing to be able to configure the MAX_MEMORY_DISK_CACHED using
system properties or similar. 

I tried to change the class that handles Attachments by changing the
server-config.wsdl setting

        <globalConfiguration> 
                <parameter name="attachments.implementation" 
        
value="org.apache.axis.attachments.AttachmentsImpl"/>
        ..
        </globalConfiguration>

, but this parameter do not seem to be used by Axis. Anyone that has
succeeded in replacing the AttachmentImpl class without changing the
Axis.jar file?

Very informal test results for attachment transfers that do not involve
disk access on either side:

Using a 130MB bytearray that was attached to the SOAP message I got a
throughput of up to 27 MB per second and up to 45% network utilization.
Which is close to the results I got using ftp and also good enough for
our purposes.  


Regards, 

Roy Willy Haug

 

> -----Original Message-----
> From: Roy Willy Haug 
> Sent: 21. desember 2004 14:48
> To: [EMAIL PROTECTED]
> Subject: SOAP w attachment throughput low compared to ftp
> 
> I am transferring files as SOAP with Attachments using the 
> javax.activiation.DataHandler and Axis 1.1 in a Gigabit network. 
> 
> The maximum throughput using my simple Axis program is 
> between 9 MBps and 14MBps and a network utilization of only 
> 8%. (MBps = MegaByte per
> second)
> Neither CPU, disk or network utilization are close to 
> maximum, so I should be able to tranfer more MB per second. 
> 
> Testing ftp between the same two machines I get 18 to 27 MB 
> per second transfer rate, and the network utilization is 
> close to the expected maximum (35-40%). I do not know the 
> internals of ftp, and do not expect the same throughput as 
> ftp due to the rather expensive SOAP. But I do expect more 
> than half the throughput of ftp when using my Web Services...
> 
> I will try to write my own handler to strip the attachments 
> from the messages before they reach Axis and are dumped to 
> disk by Axis, avoiding disk access completely.
> 
> 
> Any suggestions on ways to improve the throughput?
> 
> 
> Regards, 
> 
> Roy Willy Haug
> 
> 

Reply via email to