HP3000-L Archives

March 2004, Week 3

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Ken Hirsch <[log in to unmask]>
Reply To:
Ken Hirsch <[log in to unmask]>
Date:
Thu, 18 Mar 2004 16:51:28 -0500
Content-Type:
text/plain
Parts/Attachments:
text/plain (47 lines)
From: "Jack Nickels" <[log in to unmask]>
> On the HP3000 side, we have a listener program which is constantly
> running on a particular port in HP3000. On each data request at the
> port, the listener spawns another program which reads the data from
> the port, process the data and returns success/failure back to the
> Oracle
>
> On the Oracle side, we have UTL_TCP open socket connection, send data
> to HP3000, receive success/failure and close the socket connection.
> This step is repeated for each transaction in Oracle that is to be
> sent to the HP3000.
>
> We are looking at huge volume of requests coming from Oracle side.
> With the current design, will the HP3000 programs be able to support
> volume of 1000 transactions per minute? Will opening multiple sockets
> for this be a solution?

The spawning of a new program for each request is slow on the HP3000.

My approach is this (we use it for our COBOL "application server")--
  Have the application start, and open a listen socket

  The application forks to create N children.  They thus inherit the
listening socket.

  The children run like this:
     initialize--open files, databases
     send message to parent that we initialized correctly
     while (1) {
       (optional) inform parent we are available
       accept on listen sock
       (optional) inform parent we are busy
       read data
       process transaction
       send response
    }

 The parent just monitors the children for unexpected death.
 It can start a new server if one dies or if the number of available servers
falls below some threshold.

There are a lot of little details, like how to shut down, making sure you
don't get into a loop of restarting a crashing server, etc.

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2