|
Unfortunately in a case there is a two second delay. The flow is: The application calls the read with wait method on the Toolbox DQ object Toolbox sends a DQ read request to the server The server checks the queue. If a matching entry is on the queue it is returned. If not, go to step 3 If a matching entry is not on the queue the server checks the socket to see if the client decided cancel the read. If nothing new is on the socket the 2 second wait happens. During this wait no events are presented to the server, so if something gets on the data queue a millisecond after the 2 second wait begins, we don't know until after the 2 second wait. A lot more is going on but beyond the scope of this discussion. So, the two second wait in step 4 has to do with the way the server waits for an entry to show up on the queue. I am not having a lot of luck convincing the server folks to change their design. Our experience has been that this happens only on a read with wait. The wait is almost always greater than 2 seconds. If you are on the server side you say based on the API called, the app seems to be willing to wait over 2 seconds for the data. While the discussion goes on there are a couple things the client can do. If data "usually" arrives in less than two seconds you could wait before doing the read, or read, wait on client, read. In each case the DQ read should not wait for data. If no item is on the queue the Java side should get control without data. Not great solutions but this could eliminate some of the delay. David Wall AS/400 Toolbox for Java Henderson Mads Peter <maheo@wmdata.com>@midrange.com on 09/27/2000 05:31:28 AM Please respond to JAVA400-L@midrange.com Sent by: owner-java400-l@midrange.com To: "'JAVA400-L@midrange.com'" <JAVA400-L@midrange.com> cc: Subject: Performance problems using dataqueues to NT. I am working on a webapplication running on NT. The application makes use of a database on AS/400. To communicate with the AS/400 I use 2 dataqueues and the AS/400 toolbox to read from one and write to the other (on the AS/400 it is vise versa using Cobol programs). My team has done a lot of work in increasing communication speed. Our main problem in increasing the speed further is that we have 2 secs delay from an entry is made on our input-dataqueue until the java program receives the entry. The funny part is that if we stall the Cobol program that writes to the queue for more than 2 secs the java program recieves the entry immediately. It should be noted that the java programs used for reading and writing are running seperate threads so the reading thread should be unaffected by the writing thread. The result of this is that the time used from an entry is made to the dataqueue and returned is 2 secs + a fraction. The fraction representing the real processing time. Thank you for any input on how to get by this problem Mads Peter Henderson maheo@wmdata.com +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +--- +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.