× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: Socket vs Data Queue speed (was: Processor speed)
  • From: "Chris Bipes - CrossCheck, Inc" <chrisb@xxxxxxxxxxxxxxx>
  • Date: Mon, 1 May 2000 22:14:03 -0700
  • Organization: CrossCheck, Inc

Ok I am back from vacation and reading 350+ messages and just had to comment
on this tread.  When using client access Data Queue APIs in an TCP/IP
environment, you are using a Socket connection to a data queue server that
reads the socket and puts the data into the data queue.  So I would have to
say that a raw socket application would be faster.  Now inter process
communications I would tend to favor the data queue for transaction
processing and sockets for stream processing.

We have applications that have hundreds of clients, Green Screen, Leased
Line X.25, ICF and TCP/IP all dumping transactions to a FIFO data queue.  We
then have several server jobs running that pull from the FIFO data queue and
process the transaction.  We can start and end servers as the volume
dictates.  Try that with sockets.  I have not found a way to do FIFO
processing with sockets.  We wait at select for the next transaction and
process it when it arrives.  Mean while four more transactions come in.  The
next select tells me I have four transactions to process, not which one was
ready first.  While processing those transactions six come in on three open
sockets.  Which one was first?  Did I get all the transactions on socket 4
before the one on socket 8 and the one on socket 188?  Gets kinda of
confusing.

Sockets are great and have there place and so are data queues.  I would not
choose one over the other base on speed but on application needs.



Christopher K. Bipes
ckb62@cableone.net
----- Original Message -----
From: "Nathan M. Andelin" <nathanma@haaga.com>
To: <MIDRANGE-L@midrange.com>
Sent: Friday, April 28, 2000 4:52 PM
Subject: Re: Socket vs Data Queue speed (was: Processor speed)


To test the speed of sockets, here is a simple test (in psuedo code)

-----------------------------
Socket Server:
-----------------------------
socket()
bind()
listen()
accept()

for i = 1 to 10000
  read()
  write()
endfor
------------------------------
Socket Client:
------------------------------
socket()
connect()

for i = 1 to 10000
  write()
  read()
endfor

You could also do an equivalent test with a pair of data queues.  In my
tests, data queues completed the exchange of equivalent messages in half the
time that sockets took, for programs residing on the same AS/400.

For inter-system communication between my PC and the AS/400, my LAN seemed
to be the bottleneck.  Sockets vs. client access data queue APIs were
equivalent in performance.

I have never tested sockets vs. remote data queues between two AS/400.  It
would be interesting to find out the difference?


Nathan Andelin.


+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.