Thank you for the information regarding these parameters.

I am seeing a problem with the service I have written where in I receive
an MTOM attachment from client and the service sends back the same
attachment.

Problem description:
        As per my observation apache_http_server uses around 5.5MB of
memory in idle state(When it is not serving any request).When I invoke
the service to send an attachment of size around 145MB. The memory usage
of apache_http_server went up and as I observed it went up to 601.1MB
and my computer slowed down significantly.I am unable to figure this
out.I have worked with other frameworks like
axis2/java,gSOAP,Glassfish.I never came across such problem even when I
transferred 1GB files across.I have specified my computer configuration
below.I have attached axis2.xml file used while running server. I am
using default values MTOMChunkBufferSize is 1 and MTOMMaxChunkBuffers is
1000 please refer attached axis2.xml.Kindly let me know as to where I
have gone wrong.

Computer Specs:
                CentOS 4.4 on VMWare(host Windows xp)
                1GB RAM


-----Original Message-----
From: Kaushalye Kapuruge [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, May 21, 2008 2:38 PM
To: Apache AXIS C User List
Subject: Re: Need information on MTOMChunkBufferSize and
MTOMMaxChunkBuffers parameters

Manjula Peiris wrote:
> Hi Navin,
>
> Axis2/C reads the whole attachment at once. When there is a
> content-length this is not a problem.
>
> But when the incoming stream is chunked we need to read till end of
the
> chunks. So,
>
> MTOMChunkBufferSize means the size (In MB) of the buffers we keep on
> reading.
> MTOMMaxChunkBuffers means the number of such buffers the system can
> handle.
>
> say your ,
> MTOMMaxChunkBuffers 1000
> MTOMMaxChunkBuffers 1
>
> Then you can handle Maximum size of 1000*1 MB attachements. So By
> changing these parameters you can change the maximum size of
attachments
> your system can handle given that you have enough memory.
>
> The default is 1*1000MB. The values in the commented line in axis2.xml
> are just an example. I will change them to default and add more
comments
> there. 
Also I think it's better to update the Axis2/C manual. And add another 
entry to Axis2/C FAQ.
Cheers,
Kau
> Thanks for raising this.
>
> Thanks,
> -Manjula. 
>
>
>
>
>
> On Wed, 2008-05-21 at 11:08 +0530, Navin Bhat wrote:
>   
>> Hello group,
>>
>>  
>>
>>             I am new to axis2/c. I am working on axis2-1.4. I have a
>> service where is need to enable MTOM to send large attachments.
>>
>> I wanted to know how I can tune the MTOMChunkBufferSize and
>> MTOMMaxChunkBuffers parameters to send the attachment efficiently. I
>> am not getting information about what these parameters imply.
>>
>>  
>>
>>             Does  MTOMChunkBufferSize mean size of buffer
>> allocated ???
>>
>>             I see in axis2.xml that by default this parameter has
>> value 10.
>>
>>             Is it 10 bytes buffer size????
>>
>>             
>>
>>             Does  MTOMMaxChunkBuffers mean no.of buffers????
>>
>>             I see in axis2.xml that by default this parameter has
>> value 1000.
>>
>>             Is it 1000 buffers???
>>
>>  
>>
>> I am not finding  information about these parameters in axis2/c
>> manual.
>>
>>  
>>
>>  
>>
>> Need help....Thanks in advance..
>>
>>  
>>
>>  
>>
>> Regards,
>>
>> Navin Bhat
>>
>>  
>>
>>             
>>
>>             
>>
>>  
>>
>>
>> The information contained in this e-mail message and in any
>> attachments/annexure/appendices is confidential to the 
>> recipient and may contain privileged information. 
>> If you are not the intended recipient, please notify the
>> sender and delete the message along with any 
>> attachments/annexure/appendices. You should not disclose,
>> copy or otherwise use the information contained in the
>> message or any annexure. Any views expressed in this e-mail 
>> are those of the individual sender except where the sender 
>> specifically states them to be the views of 
>> Toshiba Embedded Software India Pvt. Ltd. (TESI),Bangalore.
>>
>> Although this transmission and any attachments are believed to be
>> free of any virus or other defect that might affect any computer 
>> system into which it is received and opened, it is the responsibility
>> of the recipient to ensure that it is virus free and no
responsibility 
>> is accepted by Toshiba Embedded Software India Pvt. Ltd, for any loss
or
>> damage arising in any way from its use.
>>
>>
>>     
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>   


-- 
http://blog.kaushalye.org/
http://wso2.org/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

The information contained in this e-mail message and in any
attachments/annexure/appendices is confidential to the 
recipient and may contain privileged information. 
If you are not the intended recipient, please notify the
sender and delete the message along with any 
attachments/annexure/appendices. You should not disclose,
copy or otherwise use the information contained in the
message or any annexure. Any views expressed in this e-mail 
are those of the individual sender except where the sender 
specifically states them to be the views of 
Toshiba Embedded Software India Pvt. Ltd. (TESI),Bangalore.

Although this transmission and any attachments are believed to be
free of any virus or other defect that might affect any computer 
system into which it is received and opened, it is the responsibility
of the recipient to ensure that it is virus free and no responsibility 
is accepted by Toshiba Embedded Software India Pvt. Ltd, for any loss or
damage arising in any way from its use.


<axisconfig name="Axis2/C">
    <!-- ================================================= -->
    <!-- Parameters -->
    <!-- ================================================= -->
    <!-- Uncomment following to enable MTOM support globally -->
    <parameter name="enableMTOM" locked="false">true</parameter>

    <!-- Set the suitable size for optimum memory usage when sending large attachments -->
    <parameter name="MTOMChunkBufferSize" locked="false">1</parameter>
    <parameter name="MTOMMaxChunkBuffers" locked="false">1000</parameter>
    
    <!-- Enable REST -->
    <parameter name="enableREST" locked="false">true</parameter>

    <!-- Uncomment following to persist op_ctx, useful with RM -->
    <!--parameter name="persistOperationContext" locked="false">true</parameter-->

    <!--if you want to extract the service archive file and work with that please uncomment this-->
    <!--else , it wont extract archive file or does not take into consideration if someone drop-->
    <!--exploded directory into /service directory-->
    <!--<parameter name="extractServiceArchive" locked="false">true</parameter>-->


    <!-- ================================================= -->
    <!-- Message Receivers -->
    <!-- ================================================= -->
    <!-- This is the Deafult Message Receiver for the Request Response style Operations -->
    <!--messageReceiver mep="INOUT" class="axis2_receivers"/-->

  
    <!-- ================================================= -->
    <!-- Transport Ins -->
    <!-- ================================================= -->
  
    <transportReceiver name="http" class="axis2_http_receiver">
        <parameter name="port" locked="false">6060</parameter>
        <parameter name="exposeHeaders" locked="true">false</parameter>
    </transportReceiver>
  
    <!--transportReceiver name="https" class="axis2_http_receiver">
        <parameter name="port" locked="false">6060</parameter>
        <parameter name="exposeHeaders" locked="true">false</parameter>
    </transportReceiver-->
  
    <!--transportReceiver name="tcp" class="axis2_tcp_receiver">
        <parameter name="port" locked="false">6060</parameter>
    </transportReceiver-->


    <!-- ================================================= -->
    <!-- Transport Outs -->
    <!-- ================================================= -->

    <transportSender name="http" class="axis2_http_sender">
        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
        <parameter name="xml-declaration" insert="false"/>
        <!--parameter name="Transfer-Encoding">chunked</parameter-->
        <!--parameter name="HTTP-Authentication" username="" password="" locked="true"/-->
        <!--parameter name="PROXY" proxy_host="127.0.0.1" proxy_port="8080" proxy_username="" proxy_password="" locked="true"/-->
    </transportSender>

    <!-- Uncomment the following with appropriate parameters to enable the SSL transport sender.
         Also make sure that the appropriate transport receiver is enabled above.-->
    <!--transportSender name="https" class="axis2_http_sender">
        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
        <parameter name="xml-declaration" insert="false"/>
    </transportSender>
    <parameter name="SERVER_CERT">/path/to/ca/certificate</parameter>
    <parameter name="KEY_FILE">/path/to/client/certificate/chain/file</parameter>
    <parameter name="SSL_PASSPHRASE">passphrase</parameter>
    -->

    <!-- Uncomment this one with the appropriate papameters to enable the TCP transport Sender-->
    <!--transportSender name="tcp" class="axis2_tcp_sender">
        <parameter name="PROTOCOL" locked="false">TCP</parameter>
        <parameter name="xml-declaration" insert="false"/>
    </transportSender-->


    <!-- ================================================= -->
    <!-- Global Modules  -->
    <!-- ================================================= -->
    <!-- Comment this to disable Addressing -->
    <module ref="addressing"/>


    <!--Configuring module , providing paramters for modules whether they refer or not-->
    <!--<moduleConfig name="addressing">-->
    <!--<parameter name="addressingPara" locked="false">N/A</parameter>-->
    <!--</moduleConfig>-->

    <!-- ================================================= -->
    <!-- Phases  -->
    <!-- ================================================= -->
    <phaseOrder type="inflow">
        <!-- System pre defined phases       -->
        <phase name="Transport"/>
        <phase name="PreDispatch"/>
        <phase name="Dispatch"/>
        <phase name="PostDispatch"/>
        <!-- End system pre defined phases       -->
        <!-- After PostDispatch phase, module or service author can add any phase as required  -->
        <!-- User defined phases could be added here -->
        <!--phase name="userphase1"/-->
    </phaseOrder>
    <phaseOrder type="outflow">
        <!-- User defined phases could be added here -->
        <!--phase name="userphase1"/-->
        <!--system predefined phase-->
        <phase name="MessageOut"/>
        <!--phase name="Security"/-->
    </phaseOrder>
    <phaseOrder type="INfaultflow">
        <!-- User defined phases could be added here -->
        <!--phase name="userphase1"/-->
    </phaseOrder>
    <phaseOrder type="Outfaultflow">
        <!-- User defined phases could be added here -->
        <!--phase name="userphase1"/-->
        <phase name="MessageOut"/>
    </phaseOrder>
</axisconfig>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to