Web Services Using Big Arrays Causes Performance Problems (Doc ID 1266782.1)

Last updated on NOVEMBER 05, 2016

Applies to:

Web Services - Version 10.1.3.5 and later
Information in this document applies to any platform.

Symptoms

When using a web service using large arrays as parameters it will cause significant performance problems.
For example, say we have the following Java class defined as a web service.

    static final String PATH;
    static {

        PATH = PropertyResourceBundle.getBundle("app").getString("filePath");
    }

    public boolean sendData(Byte[] data, String fileName) {
        File file = new File(PATH+fileName);
        try {
                   
            FileUtils.writeByteArrayToFile(file,ArrayUtils.toPrimitive(data));
        }
        catch(Exception e) {
                e.printStackTrace();
                return false;
        }
        return true;
    }



When calling this web service shows slow results for OC4J 10.1.3.4/10.1.3.5 i.e.

3kpayload.txt 	      53
6kpayload.txt         1813
12kpayload.txt        6890
24kpayload.txt        27422
48kpayload.txt        153047
64kpayload.txt        272156
100kpayload.txt       653906



When you compare the results with OC4J 10.1.3.3 you see will that 10.1.3.4/10.1.3.5 are alot slower i.e.

3kpayload.txt 	      469
6kpayload.txt          94
12kpayload.txt        219
24kpayload.txt        406
48kpayload.txt        844
64kpayload.txt        766
100kpayload.txt      1391

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms