My Oracle Support Banner

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

Last updated on MAY 08, 2020

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

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.