Troubleshooting: File upload performance when using the Assets tool in Management Center

If your files upload slowly while using the Management Center, there are various ways to fix this problem.

Problem

While using the Assets tool in the Management Center, your file uploads take a long time.

Solution

Upload performance is affected by a number of possible problems. Here are the typical methods for resolving this problem:
  • Set up the server to immediately acknowledge TCP segments, in all situations. There are two websites which explain the required steps:
  • Tune the system's memory management, and garbage collection between WebSphere Application Server and the Java SDK, do the following two actions:
    1. Change the WebContainer Channel to run in "Sync" mode. This requires setting a custom property using the following name value pair: com.ibm.ws.webcontainer.channelwritetype=sync. Refer to Setting webcontainer custom properties for additional information.
    2. Change the thread pool minimum value to equal the maximum values for both the Default and the WebContainer thread pools in the WebSphere Commerce configuration file.
      Old settings
      <threadPools xmi:id="ThreadPool_1209276671030" minimumSize="5" maximumSize="20" name="Default"/>
      <threadPools xmi:id="ThreadPool_1209276671020" minimumSize="10" maximumSize="50" 
            inactivityTimeout="3500" isGrowable="false" name="WebContainer"/> 
      New settings
      <threadPools xmi:id="ThreadPool_1209276671030" minimumSize="20" maximumSize="20" name="Default/>
      <threadPools xmi:id="ThreadPool_1209276671020" minimumSize="50" maximumSize="50" 
            inactivityTimeout="3500" isGrowable="false" name="WebContainer"/>
  • Tune the server specifically for transferring large buffers of data.
    Note: This may negatively impact performance if you mostly transfer small buffers of data.
    Change the size of the WebContainer buffering from 32K to 128K. This lowers the code path costs and the number of network writes. You should experiment to determine the best size buffer for your particular environment, however, setting this value above 512K is not recommended. You must do this for the transport channels that handle file transfers. In the Administration Console, click Application Servers > server1 > Web Container > Web container transport chains > WCInboundDefault > Webcontainer inbound channel (WCC_2). For example, to change from 32K buffers to 128K buffers, you would do the following in either the server.xml file, or in the Administration Console:
    Old settings
    <transportChannels xmi:type="channelservice.channels:WebContainerInboundChannel" 
          xmi:id="WebContainerInboundChannel_1209276671023" name="WCC_2" discriminationWeight="1" 
          writeBufferSize="32768"/>
    New settings
    <transportChannels xmi:type="channelservice.channels:WebContainerInboundChannel" 
          xmi:id="WebContainerInboundChannel_1209276671023" name="WCC_2" discriminationWeight="1" 
          writeBufferSize="131072"/>