L
Laura Stern
Guest
I don't quite understand your model. Let me recap what I understand. I'm not sure I have #4 correct: 1. You have multiple AppServer connections. 2. You run a persistent procedure asynchronously on each connection. 3. You do another async RUN on each connection to run an internal procedure in the persistent procedure. 4. When the response comes back from the internal procedure, you know that connection is free so you send a new async RUN request? #4 sounds like you're trying to manage the traffic on the connections yourself when the AVM already manages it for you. Here is what the doc says about asyncqueuesize: As each client connects, request buffers are generated and the size of each buffer determined. Both send and receive requests can be queued on a client depending how the program is implemented. When the buffers are filled, additional queued requests are stored in a temporary table associated with that client session. If you set the value of -asyncqueuesize to 0, all requests are placed in the temporary table. Performance may vary based upon whether requests are stored in memory or in the temporary table. So you may want to choose this value based upon how much data you expect to flow between the client and the AppServer for asynchronous requests. But if you're not sending new requests until the previous one is done, then asyncqueuesize is not going to affect you at all - unless perhaps you are getting large amounts of data back from each call this might improve performance on the receive side if the app is often busy and not frequently looking for events and thus not handling the data in a timely manner. Of course you do have to be waiting for events in order for your PROCEDURE-COMPLETE handlers to run.
Continue reading...
Continue reading...