[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference utrop1::linkworks_v3

Title:LinkWorks V3.0 Notes Conference
Notice:LNX_APO = APO issues, LINKWORKS_V3 = V3.0 issues
Moderator:tacklr.apd.dec.com::TACK_Lm::TACK_L
Created:Tue Jun 28 1994
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2269
Total number of notes:8338

2234.0. "send problem with share or copy option" by DEKVC::JINSUNPARK () Thu May 15 1997 11:09

   Hello,
    
    Our Customer have LinkWorks V3.0.8 server on digital unix 3.2G and 
    V3.0.8 clients on three Alpha 2100 Server. 
    Yesterday someone send an object by mail copy or share option to only 
    one users, and it takes 3 hours to reach only one user.
    customer have 7000 linkworks users and this problem happens only when 
    lots of usage linkworks. if there are no linkworks users, mail send speed
    is o.k(1 or 2 second).
    
   For testing, customer modified delay time from -d30 to -d0 but same problem.
    (if $SERVERS/pdmbg -i$BGJOBPROCESS -d0 -b)

   Pls, let me know what do i check ?

best regards
j.s park   


T.RTitleUserPersonal
Name
DateLines
2234.1wait for some ieaDEKVC::JINSUNPARKMon May 19 1997 13:5118
    Hello,
    
    I found some error in ER* file as below and this error repeats.
    
    
    
    Network-Error:
    
    /usr/op/servers/csd at Tue May 6 11:59:49.903: couldn't send data to
    host"" -
    error: 32, Broken pipe
     position of error not known
    dynamic function trace:
        	==> CSUuserSelNext ==>CSUuserSelNext ==>CSUuserSelNext ==>
        	==> CSUuserSelNext ==>CSUuserSelNext ==>CSUuserSelNext ==>
        	==> CSUuserSelNext ==>CSUuserSelNext ==>CSUuserSelNext ==>
    
                                                                  
2234.2details on internal mailUTROP1::16.197.208.129::VISSER_JJoop Visser @ UTOTue May 20 1997 20:2397
Re .0
The Mail function incorporates functions Quickmail, To User, To Org. Unit, 
Quick Reply and Send. The details of operation of these requests are described 
to this document and is based on LinkWorks release 3.08 and higher. Where it 
is applicable differences with earlier releases are mentioned.

Functionality
With the Quickmail function one can forward a message to another user. This 
function does not use the mail queing facilities which means that if this 
request is completed the addressed user will have the message stored into the 
MailInBox. One envelope object is created containing the message and subject.
The Send function has three sub modes : Forward, Copy and Shared.
The forward mode does not make use of the queueing either. One user is 
addressed and the attached Linkworks object is transferred to this user and 
stored in the created envelope object. Again, if the request is completed the 
addressed user has in the MailInBox an envelope containing the selected 
object.
Mode Copy and shared make use of the queueing facility. The mailjob will be 
processed where the priority of mailjobs are taken into account. The 
processing is done by pdmbgjob which is activated by pdmbg which runs on each 
LinkWorks server. Process pdmbgjob will be active until there is no mailjob to 
be processed on that server.  When at a later time new mail is send a new 
pdmbgjob is started by pdmbg. 
The 3.07 implementation:
The processing is rather expensive on CPU time and database usage. Therefor 
not all mail is processed at once but selected portions are processed and then 
paused for delay(*) seconds until the next selected portion will be processed. 
One such processing slot is refered to as mail cycle. If the delay is set to 
zero it could lead to "cell not available" message on actions done by the end 
user. This is caused because a connect to a free celld deamon request has 
timed out due to increased usage of cell deamon processes. Other servers in 
the LinkWorks domain can activate actions related to mail.
(*)(delay defined in /usr/op/servers/startpdm.sh by pdmbg option -d)
The 3.08 implementation:
The delay default has been changed to 0 (from 30) seconds. The background 
process pdmbgjob has got a higher nice value resulting in a lower priority 
than the LinkWorks processes. From OS point of view it becomes a background 
process. This must improve the overall performance. 


Database mailjob administration
A mailjob is administrated in the communication cell. Each mailjob is 
described in table mailjob by a row with methode id 230(copy) or 232(share), 
describing the envelope object and a second row to indicate end of mailjob 
(method id 266). In table mailjobadr are stored the addressees for a mailjob, 
one row per addressee. An end_of_mailjob also has 1 row in the table 
mailjobadr.

Database mail processing
One mail cycle can process up to 8 addressees belonging to the same mailjob. 
The end of mailjob takes also one mail cycle. First the method 23x entries are 
selected and sorted on priority and mailjob id. From the first mailjob in the 
queue 8 addressee are taken and the mail for these selected addressees are 
processed. If there is 1 addressee only this addressee is handled.
NOTE:
In releases prior to 3.08 always 1 addressee is handled per mail cycle.

If there are no method 23x entries the method 266 entries are handled. Per 
mail cycle 1 row. If there is a mail send this new mail gets processed first 
as the envelop gets method 23x and this has priority above the 266 methods.
If there are no more rows in the table mailjob the next cell is searched for 
entries. This has the effect that if there are more cells on 1 server and if 
the communication cell selection is scattered over all cells those users 
having their communication cell on the first cell have priority over those 
users having the communication cell on the other cells with a higher 
identification. It was the intention in design that there was only 1 
communication cell per server.

At the end of may97 an update of libpdm.so will be made available which will 
schedule between all local cells on the server. If a cell has no mail the next 
cell is searched for mail. If there is no mail in all local cells the pdmbgjob 
exits.

Performance and capacity details

Release 3.07
In release 3.07 a delay of 30 seconds is taken as default. The waiting delay 
is mentioned under throughput in the table mentioned below.

Case definitions with delay of 30 seconds(default):
1. Mail copy to 600 addressees
2. Mail copy to 1 addressee
3. 600 mailjobs person to person copy mode.

Case	Release		Mail cycles		Throughput 
1	3.07		600 + 1 = 601		5 hours and 30 seconds
2	3.07		1 + 1 = 2		1 minute
3	3.07		600 + 600 = 1200	10 hours

Remark to case 3: In 5 hours all addressed users will have received the mail 
but the server will be busy processing the method 266 (end_of_mailjob).

Release 3.08
From 3.08 onwards the delay is set to zero seconds giving the throughput time 
result a total of CPU and database usage.

Joop Visser
2234.3takes long time than expected timeDEKVC::JINSUNPARKThu May 22 1997 16:35209
Hello, Joop
    
    I'm very great to hear from you and it helped me.
    But still i have the problem.
    
    Our customer didn't accept mail throughout time as below result time.  
    I'd like to know if below test data is a natual result or we have
    something wrong.
    I tested many times as changing delay time when no login users
    and got the result table as below.
     
    Why does it take long time than our expected time ?
    There was no cpu and disk i/o, memory load.
    
    Active login user number are 200-300 and user number registered are
    about 7000.
                        <<< The result table >>>
    
        delay time(d) addressees num.  Throught(min)  expected Throught
        ================================================================
	 
	  3            320               34                 16
	
	  1            320               14                  6
	  
	  1            800               38                 14
	
	  0            320                7                  5
	
	  0            800               37                  7

Customer environment.
    
    S/W : digital unix 3.2D
          LINKWORKS 3.0.8
          ORACLE 7.2
          TOTAL CELL NUMBER : 3
    
    H/W : 2100 * 3 (ALPHA)
         
             ==========================================================
                |                |                    |
              2100(HDMS01)     2100(HDMS02)      2100(HDMS03)
              ( CELLA )         ( CELLB )          ( CELLC )
    
    cltdf.cfg file contents
    
    opcs[0] :UNIX::/usr/op/servers/csd.sck
             minserver=4
    	     maxserver=20
             startminservers=true
    	     minload=45
    	     maxload=80
             maxclientwait=2
    	     minserveridle=10
    	     connecttimeout=15
    	     responsetimeout=5
             sensitivity=50
     
     
    opcell[1] :UNIX::/usr/op/servers/celld1.sck
             minserver=8
    	     maxserver=35
             startminservers=true
    	     minload=30
    	     maxload=80
             maxclientwait=5
    	     minserveridle=20
    	     connecttimeout=5
    	     responsetimeout=5
             sensitivity=50
     
    opdcs[1] :UNIX::/usr/op/servers/dcs.sck
             minserver=1
    	     maxserver=3
             startminservers=false
    	     minload=45
    	     maxload=80
             maxclientwait=2
    	     minserveridle=10
    	     connecttimeout=15
    	     responsetimeout=5
             sensitivity=50
    
    tdfctl[1] :UNIX::/usr/op/servers/tdfctld.sck
             minserver=1
    	     maxserver=3
             startminservers=false
    	     minload=45
    	     maxload=80
             maxclientwait=2
    	     minserveridle=10
    	     connecttimeout=15
    	     responsetimeout=5
             sensitivity=50
     
    opana[1] :UNIX::/usr/op/servers/analysed.sck
             minserver=1
    	     maxserver=3
             startminservers=false
    	     minload=45
    	     maxload=80
             maxclientwait=2
    	     minserveridle=10
    	     connecttimeout=15
    	     responsetimeout=5
             sensitivity=50
     
    opcell[2] :inet:hdms02.hanjung.co.kr:17001
             minserver=8
    	     maxserver=35
             startminservers=true
    	     minload=30
    	     maxload=80
             maxclientwait=5
    	     minserveridle=20
    	     connecttimeout=5
    	     responsetimeout=5
             sensitivity=50
     
    opdcs[2] :inet:hdms02.hanjung.co.kr:17001
             minserver=1
    	     maxserver=3
             startminservers=false
    	     minload=45
    	     maxload=80
             maxclientwait=2
    	     minserveridle=10
    	     connecttimeout=15
    	     responsetimeout=5
             sensitivity=50
     
    
    tdfctl[2] :inet:hdms02.hanjung.co.kr:17001
             minserver=1
    	     maxserver=3
             startminservers=false
    	     minload=45
    	     maxload=80
             maxclientwait=2
    	     minserveridle=10
    	     connecttimeout=15
    	     responsetimeout=5
             sensitivity=50
     
    opna[2] :inet:hdms02.hanjung.co.kr:17001
             minserver=1
    	     maxserver=3
             startminservers=false
    	     minload=45
    	     maxload=80
             maxclientwait=2
    	     minserveridle=10
    	     connecttimeout=15
    	     responsetimeout=5
             sensitivity=50
     
     
    opcell[3] :inet:hdms03.hanjung.co.kr:17001
             minserver=8
    	     maxserver=35
             startminservers=true
    	     minload=30
    	     maxload=80
             maxclientwait=5
    	     minserveridle=20
    	     connecttimeout=5
    	     responsetimeout=5
             sensitivity=50
     
    opdcs[3] :inet:hdms03.hanjung.co.kr:17001
             minserver=1
    	     maxserver=3
             startminservers=false
    	     minload=45
    	     maxload=80
             maxclientwait=2
    	     minserveridle=10
    	     connecttimeout=15
    	     responsetimeout=5
             sensitivity=50
    
    tdfctl[3] :inet:hdms03.hanjung.co.kr:17001
             minserver=1
    	     maxserver=3
             startminservers=false
    	     minload=45
    	     maxload=80
             maxclientwait=2
    	     minserveridle=10
    	     connecttimeout=15
    	     responsetimeout=5
             sensitivity=50
    opana[3] :inet:hdms03.hanjung.co.kr:17001
             minserver=1
    	     maxserver=3
             startminservers=false
    	     minload=45
    	     maxload=80
             maxclientwait=2
    	     minserveridle=10
    	     connecttimeout=15
    	     responsetimeout=5
             sensitivity=50
     
     
     
    
2234.4experienced performanceUTROP1::16.197.208.129::VISSER_JJoop Visser @ UTOFri May 23 1997 16:1217
Hello Jin Sun,

From the delay time 0 throughput figures the average processing time for 1 
addressee is 1,3 seconds (320) and 2,77 seconds (800) which is in the scope of 
expienced performance.

On a production system it is difficult to measure performance as the database 
access can not be controlled. Tables can grow as well which will have 
different start conditions per test, especially with mail as the mail tables 
grow.

For person to person mail you can overcome this problem by creating a share of 
the object and then forward this share to the other person.

Regards,

Joop Visser