Does weblogic set socket buffer size ?

Hi all,
Want to know if Weblogic sets the Socket buffer size,when it establishes a connection with a client ?
If so then what is its default value?
any help is appreciated.
Thanks in advance.

Thanks for all your reply.
I give u more detail on my issue:
Test Environment:
Server: 4 GB memory, 1.3 GHz, a dual core CPU with hyper-threading enabled on each core (4 logical CPUs), a tomcat with my application deployed
Client: the same configuration as Server, a http simulator
Network: 1Gb/s
Test:
1> Simulate one user. Client keep sending requests to server, and server has one thread serve user's requests. (make Server always busy)
request
Server <------------- Client
response
Server ---------------> Client
request
Server <-------------- Client
CPU usage was 18%, in normal case should be 25% (100% / 4 = 25%, in my other cases, CPU were 25%)
Take a few thread dumps: saw threads sometimes blocked in the native method java.net.SocketOutputStream.socketWrite0(Native Method).
2> Simulate 4 concurrent users. Client keep sending requests to server concurrently, and server has multiple threads serve user's requests. (make Server always busy)
4 requests
Server <------------- Client
responses
Server ---------------> Client
requests
Server <-------------- Client
CPU usage was 80%, in normal case should be 90%+.
Take a few thread dumps: saw threads sometimes blocked in the native method java.net.SocketOutputStream.socketWrite0(Native Method).
If CPU was not fully utilized, for example only 80%, server must be blocked by something. And this bottleneck would impact the scalability of server.
If I can remove this bottleneck and do not bring other overheads, I may acquire:
1> a higher throughput
2> a more scalable server
In our performance requirement, server CPU usage must be 90%+.
I just feel strange that why the CPU usage was normal (25% for single thread test or 90%+ for 4 threads test) even I choose a very small buffer size.

Similar Messages

  • Setting the buffer size centrally

              Is there a way to set the buffer size to a specific value for
              multiple JSPs without having to use the @page buffer...
              directive on every page?
              I have a JSP/EJB application with many JSPs and want to allow
              for an easy update of the buffer size in the future.
              Placing <@page buffer... in a separate file and using the
              @include directive or <jsp:include... action doesn't work.
              

    I had the same problem, and that's a great solution. Anyone know how to set
              the autoFlush property in an included file?
              "Gary Keim" <[email protected]> wrote in message
              news:3a96c2d8$[email protected]..
              > % cat Test.jsp
              > <%@ include file="SetBuffer.jsp" %>
              >
              > <html>
              > <body>
              > BufferSize is <%response.getBufferSize()%>
              > </body>
              > </html>
              > % cat SetBuffer.jsp
              > <%response.setBufferSize(16000);%>
              > --
              > Gary
              >
              > "Padraig O Broin" <[email protected]> wrote in message
              > news:3a969809$[email protected]..
              > >
              > > Is there a way to set the buffer size to a specific value for
              > > multiple JSPs without having to use the @page buffer...
              > > directive on every page?
              > >
              > > I have a JSP/EJB application with many JSPs and want to allow
              > > for an easy update of the buffer size in the future.
              > >
              > > Placing <@page buffer... in a separate file and using the
              > > @include directive or <jsp:include... action doesn't work.
              >
              >
              

  • Performance affected from the socket buffer size

    I have a server program deployed in the Tomcat server.
    I found the server was sometime blocked in the native method java.net.SocketOutputStream.socketWrite0(Native Method). And the CPU was not fully utilized.
    Intuitive thinking, may be I can solve this problem by increasing the socket send buffer size. So I tried it.
    By default, tomcat socket send buffer size is 9000 bytes or so. I increased this value to 102400 bytes. Tested again. CPU usage was around 100%. OK, it worked.
    But how about if I decrease this value to a small number? I tried. Set the value to 100 bytes. Tested again. CPU usage was still around 100% !!!
    So, the problem here is: CPU was not able to be fully utilized by using the default buffer size (9000 bytes). But if you increase the value to a very large number or a very small number, you can achieve a better performance.
    note: the client was sending requests all the time. Just like the stress test. So, the server side was always busy.
    Edited by: willpowerforever on Jul 31, 2009 6:37 PM

    Thanks for all your reply.
    I give u more detail on my issue:
    Test Environment:
    Server: 4 GB memory, 1.3 GHz, a dual core CPU with hyper-threading enabled on each core (4 logical CPUs), a tomcat with my application deployed
    Client: the same configuration as Server, a http simulator
    Network: 1Gb/s
    Test:
    1> Simulate one user. Client keep sending requests to server, and server has one thread serve user's requests. (make Server always busy)
    request
    Server <------------- Client
    response
    Server ---------------> Client
    request
    Server <-------------- Client
    CPU usage was 18%, in normal case should be 25% (100% / 4 = 25%, in my other cases, CPU were 25%)
    Take a few thread dumps: saw threads sometimes blocked in the native method java.net.SocketOutputStream.socketWrite0(Native Method).
    2> Simulate 4 concurrent users. Client keep sending requests to server concurrently, and server has multiple threads serve user's requests. (make Server always busy)
    4 requests
    Server <------------- Client
    responses
    Server ---------------> Client
    requests
    Server <-------------- Client
    CPU usage was 80%, in normal case should be 90%+.
    Take a few thread dumps: saw threads sometimes blocked in the native method java.net.SocketOutputStream.socketWrite0(Native Method).
    If CPU was not fully utilized, for example only 80%, server must be blocked by something. And this bottleneck would impact the scalability of server.
    If I can remove this bottleneck and do not bring other overheads, I may acquire:
    1> a higher throughput
    2> a more scalable server
    In our performance requirement, server CPU usage must be 90%+.
    I just feel strange that why the CPU usage was normal (25% for single thread test or 90%+ for 4 threads test) even I choose a very small buffer size.

  • How to set optimum buffer size when burning CDs?

    There is a drop-down menu in the CD burning dialogue box with a choice of six buffer sizes.
    How does one determine the optimum size? Is this size related to the burning speed?
    Please help.
    Thanks,
    cobaltgreen

    Having trouble with dvd players not liking burned dvds.
    Will track down Tom Woskly and see if he has ideas...

  • DBMS_OUTPUT.ENABLE(null) - does this set the serveroutput size to unlimited

    Hi,
    I am in 10gR2. But my SQL plus client is still with 9i.
    Hence i am unable to use the 10gR2 feature of setting the serveroutput to unlimited size.
    If i issue
    SET SERVEROUTPUT ON SIZE UNLIMITED
    I am getting this error.
    Usage: SET SERVEROUTPUT { ON | OFF } [SIZE n]
    [ FOR[MAT] { WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED] } ]
    This could be due to my 9i client.
    My end goal is: all my dbms_output lines should get printed without getting buffer overflow error.
    I know i can make use of dbms_output.enable - this also takes n as argument to set whatever be the buffer size.
    Question: How can i use dbms_output.enable to set Unlimited size.

    I don't see where it says that a null argument to DBMS_OUTPUT.ENABLE will be treated as 2000 (20000?).Look at the Usage Notes in the link oradev060708 provided.
    NULL is expected to be the usual choice. The default is 20,000 for backwards compatibility with earlier database versions that did not support unlimited buffering.
    «

  • Why does 4k "Set to Frame Size" shrink on playback ?

    When I add 4k video to a 1080 timeline and shrink (scale) to 50% to make it fit, it fits perfectly when paused, but then plays back at half size within the 1080 program sequence window.  I believe this is the preferred way to put 4k on a 1080 sequence but I am not sure why my playback shinks the size of the video further when I play it.  Thanks for helping me understand what's going on here or if there is a better way to bring 4k into a 1080 sequence. 

    PR CC 2014.1. I just tested some GH4 4K (3840X2160) in a 1920X1080 sequence, scaling the 4K to 50%. Program monitor settings 1/4 and Full are okay, and 1/2  gives me constant jumps from full frame to a small box in the monitor. (Same whether playback and pause settings are matched or not.)
    Removing the scale, gives the same type of effect. Stepping through frame by frame, I see that most frame are showing as full frame, then "zooming" in to the "regular condition" (no scale should display the too large 4K centered, right?).
    Generating previews results in relatively smooth in all combinations.
    Also, using the "scale to frame" results in smooth motion even if not rendered.
    GH4 4K clips are 100Mbps recording. I suspected my system (just on my laptop) was not up to the task. But since unscaled is not the issue, I really don't know. I'll try to test this again on my PC at home tonight.

  • How to set buffer size mac?

    Video streaming is intermittent, BBC iPlayer.
    Cannot get info about router but have latest Apple Extreme modem in MacBook Air.

    A DAQboard is an IOtech device. I use a DAQbook in one of my programs.
    You set the buffer size by calling Acquisition Scan Configuration.vi, assuming you've downloaded the IOtech enhanced LabVIEW drivers. The buffer size input to this VI is in number of scans. There's no real rule to the size you should use. Just set it to a size that's big enough to hold as many scans as you will need buffered before you read them. For example, If the board is set up to sample at 100 Hz and you read the buffer once a second, make sure the buffer is at least 100 scans.
    As far as your other question, like Dennis said, you don't have to do anything to reserve the memory. The operating system will take care of it for you.

  • Sychronize AO/AI buffered data graph and measure data more than buffer size

    I am trying to measure the response time (around 1ms) of the pressure drop indicated by AI channel 0 when the AO channel 0 gives a negetive single pulse to the unit under test (valve). DAQ board: Keithley KPCI-3108, LabView Version: 6.1, OS system: Win2000 professional.
    My problem is I am getting different timed graph between the AI and AO channels every time I run my program, except the first time I can get real time graph. I tried to decrease the buffer size less than the max buffer size of the DAQ board (2048 samples), but it still does unreal time graph from AI channel, seems it was still reading from old data in the buffer when AO writes the new buffer data, that is my guessing. In my p
    rogram, the AO and AI part is seperated, AO Write buffer is in a while loop while AI read is not. Would that be a problem? Or it's something else?
    Also, I am trying to measure data much larger than the board buffer size limit. Is it possible to make the measurement by modifying the program?
    I really appreciate any of your help. Thank you very much!
    Best,
    Jenna

    Jenna,
    You can modify the X-axis of a chart/graph in LabVIEW to display real-time. I have included a link below to an example program that illustrates how to do this.
    If you are doing a finite, buffered acquisition make sure that you are always reading everything from the buffer for each run. In other words, If you set a buffer size of 5000, then make sure you are reading 5000 scans (set number of scans to read to 5000). This will assure you are reading new data every time you run you program. You could always put the AI Read VI within a loop and read a smaller number from the buffer until the buffer is empty (monitor the scan backlog output of the AI Read VI to see how many scans are left in the buffer).
    You can set a buffer size larger than the FIFO
    buffer of the hardware. The buffer size you set in LabVIEW is actually a software buffer size within your computer's memory. The data is acquired with the hardware, stored temporarily within the on-board FIFO, transferred to the software buffer, and then read in LabVIEW.
    Are you trying to create a TTL square wave with the analog output of the DAQ device? If so, the DAQ device has counters that can generate a highly accurate digital pulse as well. Just a suggestion. LabVIEW has a variety of shipping examples that are geared toward using counters (find examples>>DAQ>>counters). I hope this helps.
    Real-Time Chart Example
    http://venus.ni.com/stage/we/niepd_web_display.DISPLAY_EPD4?p_guid=B45EACE3E95556A4E034080020E74861&p_node=DZ52038&p_submitted=N&p_rank=&p_answer=&p_source=Internal
    Regards,
    Todd D.
    National Instruments
    Applications Engineer

  • Getting recv buffer size error even after tuning

    I am on AIX 5.3, IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3...), Coherence 3.1.1/341
    I've set the following parameters as root:
    no -o sb_max=4194304
    no -o udp_recvspace=4194304
    no -o udp_sendspace=65536
    I still get the following error:
    UnicastUdpSocket failed to set receive buffer size to 1428 packets (2096304 bytes); actual size is 44 packets (65536 bytes)....
    The following commands/responses confirm that the settings are in place:
    $ no -o sb_max
    sb_max = 4194304
    $ no -o udp_recvspace
    udp_recvspace = 4194304
    $ no -o udp_sendspace
    udp_sendspace = 65536
    Why am I still getting the error? Do I need to bounce the machine or is there a different tunable I need to touch?
    Thanks
    Ghanshyam

    Can you try running the attached utility, and send us the output. It will simply try to allocate a variety of socket buffer sizes and report which succeed and which fail. Based on the Coherence log message I expect this program will also fail to allocate a buffer larger then 65536, but it will allow you verify the issue externally from Coherence.
    There was an issue with IBM's 1.4 AIX JVM which would not allow allocation of buffers larger then 1MB. This program should allow you to identify if 1.5 has a similar issue. If so you may wish to contact IBM support regarding obtaining a patch.
    thanks,
    Mark<br><br> <b> Attachment: </b><br>so.java <br> (*To use this attachment you will need to rename 399.bin to so.java after the download is complete.)<br><br> <b> Attachment: </b><br>so.class <br> (*To use this attachment you will need to rename 400.bin to so.class after the download is complete.)

  • SQL Developer 1.5.3: SIZE honored in SET SERVEROUTPUT ON SIZE nbr ?

    I'm running some PL/SQL in SQL Developer 1.5.3 and am getting some buffer overflow error messages while using dbms_output.put_line.
    At the top of my script, I've put:
    set serveroutput on size 100000
    But get these errors:
    ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes
    ORA-06512: at "SYS.DBMS_OUTPUT", line 35
    ORA-06512: at "SYS.DBMS_OUTPUT", line 198
    ORA-06512: at "SYS.DBMS_OUTPUT", line 139
    ORA-06512: at line 28
    Does SQL Developer 1.5.3 not, in fact, honor the SIZE portion of SET SERVEROUTPUT ON? If not, can this be set in the preferences? (couldn't find it).
    Thanks.
    Dana

    Dana N wrote:
    Note... I'm running Oracle 9i, soon to be 10g. Don't know if that matters. Seems in 11g, there's another way to set the buffer size specifically for dbms_output, e.g. dbms_output.enable(100000)-- or null for unlimited. I couldn't get this to work on 9i.
    Danadbms_output.enable(buffer_size) has been available since 9i if not before.

  • Network Stream Max Buffer Size

    Hello,
    I recall an AE on here once mentioning that network streams can exhibit problems if you set a buffer size greater than 9MB, but I haven't been able to find any concrete explanation of this.  The reason behind me asking is that, I'm currently running into some memory problems in my application in which I initialize my buffer to 30MB.
    Basically, my application starts out running fine, but after 30-45 minutes, all of a sudden, my network stream buffer starts building up until it reaches a max value, even though I am still reading data out of it at seemingly the same rate.  It's as if routine memory allocation/deallocation elsewhere in my application causes issues with the network stream.
    Anyone have any insight to this?
    thanks in advance,

    The size of the buffer you set for your network streams will just determine how much memory is set aside within your application. If you make your stream too large, LabVIEW will throw an error such as 'Memory is Full' telling you there is not enough space to create that large of a buffer. 
    The important benchmarking data to look at concerning network streams is throughput and latency. The following KB has data in section 6 regarding how quickly data can be passed through a network stream:
    http://www.ni.com/white-paper/12267/en/#toc4
    Since you are able to function properly for the first 30-45 minutes, it does not seem that you are violating network capabilities with your setup. However, there seems to be something that is building up/slowing down after that period of time.
    How did you determine that you need a 30 MB buffer size? If you are originally only storing between 0-8000 items on the buffer, it may make sense to make a buffer smaller than 30000000 to free up resources for other parts of your application.
    Here is some more information about how to profile performance and memory within LabVIEW: http://zone.ni.com/reference/en-XX/help/371361J-01/lvdialog/profile/
    Applications Engineer
    National Instruments

  • Buffer Size Help

    I have a serverclient that is trying to transfer avi files. They are like a 100 megs each. Now the files do transfer but they are all only 3000 kilobytes. I suspect its the buffer, so how do I set the buffer size for each file appropiately? My code looks like this
    SERVER
    public void transferVideo(){
         try {
                   out.writeUTF("Sending over a movie");
                   System.out.println(inputLine);
                   File f = new File(inputLine);
                   FileInputStream fis = new FileInputStream(f);
                   int fsize = (int)f.length();
                   out.writeInt(fsize);
                   out.flush();
                   in.readByte();
                   byte[] buf = new byte[6000];
                   int count;
                   while ((count = fis.read(buf)) > 0){
                        os.write(buf, 0, count);
                        os.flush();
                   }//end while
                   fis.close();
                   } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                   } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
            CLIENT
    public void connect() throws IOException{
            try {
                 mediaSocketdiaServerSocket = new Socket(hostName, portNumber);
                out = new DataOutputStream(mediaSocketdiaServerSocket .getOutputStream());
                in = new DataInputStream(mediaSocketdiaServerSocket .getInputStream());
                is = mediaSocketdiaServerSocket.getInputStream();
            } catch (UnknownHostException e) {
                System.err.println("Don't know about host: "+hostName);
                System.exit(1);
            } catch (IOException e) {
                System.err.println("Couldn't get I/O for the connection to: "+hostName);
                System.exit(1);
            BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
           // while (true) {
                  File outputFile = null;
                   try
                        out.writeUTF("7");
                        System.out.println(fileAddress);
                        out.writeUTF(fileAddress);
                        fileType=getFileExtension(fileAddress);
                        fileName=getFileName(fileAddress);
                        String inp;
                        outputFile = new File(fileName);
                        FileOutputStream fos = new FileOutputStream(outputFile);
                        int fSize;
                        int sizeRead = 0;
                        fSize = in.readInt();
                        byte[] buff = new byte[3000];
                        System.out.println ("Size of file is " + fSize);
                        //out.writeByte('\n');
                        //out.flush();
                        System.out.println(is.markSupported());
                        while ((is.read(buff)) != -1)
                        sizeRead += 3000;
                        if (sizeRead < fSize)
                        fos.write(buff);
                        else
                        byte[] buff1 = new byte[fSize - (sizeRead-3000)];
                        for (int i=0; i < (fSize -(sizeRead - 3000)); i++)
                        buff1 = buff;
                        fos.write(buff1);
                        out.writeByte('\n');
                        out.writeUTF("normal_state");
                        out.flush();
                        System.out.println("File copied");
                        break;
                        fos.close();
                   catch (IOException e)
                   System.err.println("I/O failure");
            out.close();
            in.close();
            stdIn.close();
            mediaSocketdiaServerSocket .close();Thnx

    Well how come my code only outputs 342.8 KB per file?
    Client
    File outputFile = null;
                   try
                        out.writeUTF("7");
                        System.out.println(fileAddress);
                        out.writeUTF(fileAddress);
                        fileType=getFileExtension(fileAddress);
                        fileName=getFileName(fileAddress);
                        String inp;
                        outputFile = new File(fileName);
                        FileOutputStream fos = new FileOutputStream(outputFile);
                        int fSize;
                        int sizeRead = 0;
                        fSize = in.readInt();
                        byte[] buff = new byte[3000];
                        System.out.println ("Size of file is " + fSize);
                        //out.writeByte('\n');
                        //out.flush();
                        System.out.println(is.markSupported());
                        int count;
                        while (sizeRead < fSize && (count = is.read(buff)) > 0)
                            sizeRead += count;
                            fos.write(buff, 0, count);
                             out.writeUTF("normal_state");
                             out.flush();
                             System.out.println("File copied");
                        fos.close();
                   catch (IOException e)
                   System.err.println("I/O failure");
                   }Server
    private void transferVideo(String inputLine) {
              try {
                   out.writeUTF("Sending over a movie");
                   System.out.println(inputLine);
                   File f = new File(inputLine);
                   FileInputStream fis = new FileInputStream(f);
                   long fsize = f.length();
                   out.writeInt((int)fsize);
                   byte[] buf = new byte[6000];
                   int count;
                   while ((count = fis.read(buf)) > 0){
                        os.write(buf, 0, count);
                   }//end while
                   fis.close();
                   } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                   } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
        }

  • Linux Serial NI-VISA - Can the buffer size be changed from 4096?

    I am communicating with a serial device on Linux, using LV 7.0 and NI-VISA. About a year and a half ago I had asked customer support if it was possible to change the buffer size for serial communication. At that time I was using NI-VISA 3.0. In my program the VISA function for setting the buffer size would send back an error of 1073676424, and the buffer would always remain at 4096, no matter what value was input into the buffer size control. The answer to this problem was that the error code was just a warning, letting you know that you could not change the buffer size on a Linux machine, and 4096 bytes was the pre-set buffer size (unchangeable). According to the person who was helping me: "The reason that it doesn't work on those platforms (Linux, Solaris, Mac OSX) is that is it simply unavailable in the POSIX serial API that VISA uses on these operating systems."
    Now I have upgraded to NI-VISA 3.4 and I am asking the same question. I notice that an error code is no longer sent when I input different values for the buffer size. However, in my program, the bytes returned from the device max out at 4096, no matter what value I input into the buffer size control. So, has VISA changed, and it is now possible to change the buffer size, but I am setting it up wrong? Or, have the error codes changed, but it is still not possible to change the buffer size on a Linux machine with NI-VISA?
    Thanks,
    Sam

    The buffer size still can't be set, but it seems that we are no longer returning the warning. We'll see if we can get the warning back for the next version of VISA.
    Thanks,
    Josh

  • Set serveroutput on size unlimited

    ORA-20000: ORU-10027: buffer overflow, limit of 1000000 bytes
    ORA-06512: in "SYS.DBMS_OUTPUT", Zeile 35
    ORA-06512: in "SYS.DBMS_OUTPUT", Zeile 161
    ORA-06512: in "SYS.DBMS_OUTPUT", Zeile 123
    ORA-06512: in Zeile 1it is not possible to set dbms_output buffer size to "unlimited", as we can do in 10gR2.

    i also still have this stupid limit of 255 chars per line
    declare x varchar2(32767);
    begin
        for i in 1..256 loop x:=x||'.'; end loop;
        dbms_output.put_line('begin');
        dbms_output.put_line(x);
        dbms_output.put_line('end');
    end;
    /should work in 10gR2, but no output generated

  • Buffer Sizes Are Not Equal

    Okay what does this term mean:
    Buffer Sizes Are Not Equal
    I am playing with transitions. I have two clips with enough handles.
    I'm using the gradient wipe and putting a Photoshop file in the "well".
    That message pops up in the timeline when I'm stopped at that place in the timeline (similar to the media offline message). When I try to render the effect, the same message appears and doesn't even attempt to render.
    FCP 5.1.4

    The image is RGB...
    The image itself is a blue circle over a transparent background. That's the only layer.
    I did change it to a jpg file, and I stopped getting the error message...but obviously I also lost the alpha channel.
    John

Maybe you are looking for

  • Error: 1012704 Dynamic Calc processor cannot lock more than [25] ESM blocks

    Dear All, I get the Following Error in the Essbase console when I try to Execute any CalcScript. Error: 1012704 Dynamic Calc processor cannot lock more than [25] ESM blocks during the calculation, please increase CalcLockBlock setting and then retry(

  • JAR containing HTML files??

    I am using Forte for Java ME to compile and debug my application. When I view the contents of the JAR file, I see that it contains serveral HTML files. These HTML files are adding about 50K to the size of my application. Can anyone tell me why these

  • Can an embedded Flash SWF save and get a variable with Reader?

    My SWF content contains text in different languages.  The user selects a language and it appears. Is there a way to store this setting locally so that the correct language appears when the pdf is reopened? I only need a two-letter string, like "EN,"

  • My string URL is too long and my servlet don't work.

    I need to call servlet from my web page but it does not work because My string URL is too long (appear message in my web "server not found"), exists a way to solve this?

  • RPRAPA00 program deletion flag update issue

    Hi, I am stuck up with a specific company code whose deletion flag is updated for UPDATE variant(05001UDEMPVEN) when I execute PRAA tcode (or program RPRAPA00 ) and program writes to a file with the following contents: 2BLFB1