Results 1 to 3 of 3
  1. #1
    Join Date
    Apr 2004
    Location
    The Netherlands
    Posts
    7

    Unanswered: NETTYPE settings

    Hello everyone,

    I really need some help here. Can anybody tell me how the NETTYPE parameters in my onconfig file should be set for optimal performance?

    I have IDS 7.31 FD4 running on a Digital 3 processor (466 Mhz) AlphaServer 4100, which is the database server and is part of a cluster. I has 2 Gb RAM.
    The application server here is also a Digital AlphaServer 4100, with 2 Gb RAM and 2 processors of 466 Mhz. The system is used for Baan IVc4, we have max. 140 concurrent users active.

    What may be of any infuence is the way the application server connects to the database server. It's all done via one user. So I have plenty of Baan users, which are all linked with 1 and the same informix user in inf_users.

    After changing a few parameters, this message comes up:
    10:54:16 KAIO: out of OS resources, errno = 35, pid = 1387179

    I changed the following:
    #NETTYPE soctcp,2,200,NET # Configure poll thread(s) for nettype
    NETTYPE soctcp,1,200,CPU # Configure poll thread(s) for nettype
    NETTYPE soctcp,1,200,NET # Configure poll thread(s) for nettype
    NETTYPE sqlmux

    LOCKS modified from 300000 to 20000.
    BUFFERS modified from 20000 to 50000.
    CLEANERS modified from 4 to 16.
    LRUS modified from 8 to 16.
    LRU_MAX_DIRTY modified from 15 to 3.
    LRU_MIN_DIRTY modified from 5 to 1.
    SHMVIRTSIZE modified from 16384 to 1048576.
    SHMADD modified from 32768 to 131072.
    NOAGE modified from 0 to 1.

    $ onstat -p

    Informix Dynamic Server Version 7.31.FD4 -- On-Line -- Up 14:26:28 -- 1163264 Kbytes

    Profile
    dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
    1831532 2040340 36419607 94.97 199663 299544 924816 78.41

    isamtot open start read write rewrite delete commit rollbk
    38583540 391707 3399764 19031391 85708 80776 60457 75679 7

    gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
    0 0 0 0 0 0 0

    ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
    0 0 0 4769.50 2830.10 111 346

    bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
    365784 14 4150422 0 0 47 11202 17041

    ixda-RA idx-RA da-RA RA-pgsused lchwaits
    776130 12 0 611544 40536


    After the system's up for a couple of days, the % cached grow to 95+ and 85 +

    Here's a part of my current onconfig file:
    #************************************************* *************************
    SERVERNUM 0 # Unique id corresponding to a OnLine instance
    DBSERVERNAME baan # Name of default database server
    DBSERVERALIASES # List of alternate dbservernames
    #NETTYPE soctcp,2,200,NET # Configure poll thread(s) for nettype
    NETTYPE soctcp,1,200,CPU # Configure poll thread(s) for nettype
    NETTYPE soctcp,1,200,NET # Configure poll thread(s) for nettype
    NETTYPE sqlmux # Configure poll thread(s) for nettype
    DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
    RESIDENT 1 # Forced residency flag (Yes = 1, No = 0)

    MULTIPROCESSOR 1 # 0 for single-processor, 1 for multi-processor
    NUMCPUVPS 2 # Number of user (cpu) vps
    SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to one

    #NOAGE 0 # Process aging
    NOAGE 1 # Process aging
    AFF_SPROC 0 # Affinity start processor
    AFF_NPROCS 0 # Affinity number of processors

    # Shared Memory Parameters

    #LOCKS 300000 # Maximum number of locks
    LOCKS 20000 # Maximum number of locks
    #BUFFERS 20000 # Maximum number of shared buffers
    BUFFERS 50000 # Maximum number of shared buffers
    NUMAIOVPS 3 # Number of IO vps
    PHYSBUFF 32 # Physical log buffer size (Kbytes)
    LOGBUFF 32 # Logical log buffer size (Kbytes)
    LOGSMAX 90 # Maximum number of logical log files
    #CLEANERS 4 # Number of buffer cleaner processes
    CLEANERS 16 # Number of buffer cleaner processes
    SHMBASE 0x200000000 # Shared memory base address
    SHMVIRTSIZE 1048576 # initial virtual shared memory segment size
    SHMADD 131072 # Size of new shared memory segments (Kbytes)
    SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
    CKPTINTVL 300 # Check point interval (in sec)
    #LRUS 8 # Number of LRU queues
    LRUS 16 # Number of LRU queues
    #LRU_MAX_DIRTY 15 # LRU percent dirty begin cleaning limit
    LRU_MAX_DIRTY 3 # LRU percent dirty begin cleaning limit
    #LRU_MIN_DIRTY 5 # LRU percent dirty end cleaning limit
    LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limit
    LTXHWM 50 # Long transaction high water mark percentage
    LTXEHWM 60 # Long transaction high water mark (exclusive)
    TXTIMEOUT 0x12c # Transaction timeout (in sec)
    STACKSIZE 32 # Stack size (Kbytes)

    # Parallel Database Queries (pdq)
    MAX_PDQPRIORITY 100 # Maximum allowed pdqpriority
    DS_MAX_QUERIES # Maximum number of decision support queries
    DS_TOTAL_MEMORY # Decision support memory (Kbytes)
    DS_MAX_SCANS 1048576 # Maximum number of decision support scans
    DATASKIP off # List of dbspaces to skip

    OPTCOMPIND 0 # To hint the optimizer

    # BAAN setup
    DD_HASHSIZE 511
    DD_HASHMAX 20
    DS_HASHSIZE 503
    DS_POOLSIZE 500

    #************************************************* *************************

    This is the entry in my sqlhosts file:

    baan onsoctcp baan baan m=1

    Thanks in advance,

    Lex

  2. #2
    Join Date
    Apr 2003
    Location
    Phoenix, AZ
    Posts
    177
    I'm not sure I caught what you meant about the users being linked to one user.

    I'm assuming you see approx 140 users when you do an "onstat -u"?

    NETTYPE defines the number and type of listening threads. Since you have no DBSERVERALIAS defined you only need the default of a single CPU thread.

    What you are defining is the number of listeners waiting for something to happen from user connections (ie. SQL). If you are HIGHLY interactive and running multiple CPU's (read more than 2) and/or a DBSERVERALIAS you could define additional listeners.

    You will get an argument whether your VP class should be CPU or NET. I tend to like CPU in systems with limited CPU's as a CPU thread is interuptable, NET is not. And you only have two CPU's, better that they should be doing work they have in hand vs. work that might be coming.
    Fred Prose

  3. #3
    Join Date
    Apr 2004
    Location
    The Netherlands
    Posts
    7
    Thank you very much for your reply Fred.

    When I do an 'onstat -u', I only see one user, ''baannh''
    This is the result of the way we modify "inf_users". In this file, every unix user (on the application server) is linked to user 'baannh' on the database server:

    ....
    wdboer:baannh:;O+Z='|j7D!^bp8BGZPEqIkgdhSs,r-E:baan
    wvboheem:baannh:;O+Z='|j7D!^bp8BGZPEqIkgdhSs,r-E:baan
    wwilts:baannh:;O+Z='|j7D!^bp8BGZPEqIkgdhSs,r-E:baan
    yhannema:baannh:;O+Z='|j7D!^bp8BGZPEqIkgdhSs,r-E:baan
    ydloor:baannh:;O+Z='|j7D!^bp8BGZPEqIkgdhSs,r-E:baan
    ....

    So, I was wondering if this way of working is of any infuence of the performance of IDS. It makes it more difficult to identify the queries of a unix user, that's for sure.

    Second, I have 3 processors in the database server. I am willing to try the effect of using all three of them, but I read different advice on this (some say: use 3 minus 1 (keep 1 for system tasks), other say: use 3 cause it's a dedicated server).

    So how about this:
    NETTYPE soctcp,3,350,CPU # Configure poll thread(s) for nettype
    NETTYPE sqlmux # Configure poll thread(s) for nettype

    NUMCPUVPS 3 # Number of user (cpu) vps

    You've seen my current setting, which ain't satisfactory:
    Profile

    dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
    12184805 37686899 166520159 92.68 844464 1133833 3897291 78.33

    By the way: I got the KAIO error due to the BUFFERS setting. I put it back to 20000 - the error is gone, but how do I find out if this is enough?

    Lex

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •