Results 1 to 3 of 3
  1. #1
    Join Date
    Sep 2004
    Posts
    2

    Unanswered: IHelp informix IDS 7.31 UD 6 : Too many open files

    Hello everybody,

    We have got a big problem here of performance.
    We have on IBM server (with 8 Go of RAM and 4 processors) for the database (informix IDS 7.31 UDC) and too servers for a java application with weblogic 6.1 SP3. So we have one web application on each weblogic. We use a Redhat 7.3 with a 2.4 kernel.

    On the database we have now 52 databases on the same instance on informix.
    And we have on weblogic an application wich use is own pool (I mean not a weblogic pool) and each pool is configure like this, start : 10 max :15 and for one base we got start : 20 max : 25. So we have max on each applicative server (51 X 15) + 25 = 790 sessions so on the database server : 790 X 2 = 1580 sockets.

    the problem is that the database server became quickly unavailable with this error message :
    System Error: Recvd erroneous event on select

    and when we want to use dbaccess we got :
    too many open files

    Configuration File: /opt/informix/etc/onconfig.ol_exploit035

    ...

    # Disk Mirroring Configuration Parameters

    MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
    MIRRORPATH # Path for device containing mirrored root
    MIRROROFFSET 0 # Offset into mirrored device (Kbytes)

    # Physical Log Configuration

    PHYSDBS exploit035 # Location (dbspace) of physical log
    PHYSFILE 50000 # Physical log file size (Kbytes)

    # Logical Log Configuration

    LOGFILES 10 # Number of logical log files
    LOGSIZE 20000 # Logical log size (Kbytes)

    ...

    # System Configuration

    SERVERNUM 1 # Unique id corresponding to a Dynamic Server instance
    DBSERVERNAME ol_exploit035 # Name of default database server
    DBSERVERALIASES ol_exploit035 # List of alternate dbservernames
    DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
    RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)

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

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

    # Shared Memory Parameters

    LOCKS 10000 # Maximum number of locks
    BUFFERS 20000 # Maximum number of shared buffers
    NUMAIOVPS # Number of IO vps
    PHYSBUFF 32 # Physical log buffer size (Kbytes)
    LOGBUFF 32 # Logical log buffer size (Kbytes)
    LOGSMAX 10 # Maximum number of logical log files
    # CLEANERS 1 # Number of buffer cleaner processes
    CLEANERS 5 # Number of buffer cleaner processes
    SHMBASE 0x10000000 # Shared memory base address
    SHMVIRTSIZE 400000 # initial virtual shared memory segment size
    SHMADD 200000 # 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 12 # Number of LRU queues
    LRU_MAX_DIRTY 60 # LRU percent dirty begin cleaning limit
    LRU_MIN_DIRTY 50 # 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)

    # Recovery Variables
    # OFF_RECVRY_THREADS:
    # Number of parallel worker threads during fast recovery or an offline restore.
    # ON_RECVRY_THREADS:
    # Number of parallel worker threads during an online restore.

    OFF_RECVRY_THREADS 10 # Default number of offline worker threads
    ON_RECVRY_THREADS 1 # Default number of online worker threads

    # Data Replication Variables
    # DRAUTO: 0 manual, 1 retain type, 2 reverse type
    DRAUTO 0 # DR automatic switchover
    DRINTERVAL 30 # DR max time between DR buffer flushes (in sec)
    DRTIMEOUT 30 # DR network timeout (in sec)
    DRLOSTFOUND /opt/informix/etc/dr.lostfound # DR lost+found file path

    # CDR Variables
    CDR_LOGBUFFERS 2048 # size of log reading buffer pool (Kbytes)
    CDR_EVALTHREADS 1,2 # evaluator threads (per-cpu-vp,additional)
    CDR_DSLOCKWAIT 5 # DS lockwait timeout (seconds)
    CDR_QUEUEMEM 4096 # Maximum amount of memory for any CDR queue (Kbytes)

    ...

    # Read Ahead Variables
    RA_PAGES # Number of pages to attempt to read ahead
    RA_THRESHOLD # Number of pages left before next group

    # DBSPACETEMP:
    DBSPACETEMP exploit035_tmp # Default temp dbspaces

    # DUMP*:
    DUMPDIR /opt/informix/dump # Preserve diagnostics in this directory
    DUMPSHMEM 1 # Dump a copy of shared memory
    DUMPGCORE 0 # Dump a core image using 'gcore'
    DUMPCORE 0 # Dump a core image (Warning:this aborts Dynamic Server)
    DUMPCNT 1 # Number of shared memory or gcore dumps for
    # a single user's session

    FILLFACTOR 90 # Fill factor for building indexes

    # method for Dynamic Server to use when determining current time
    USEOSTIME 0 # 0: use internal time(fast), 1: get time from OS(slow)

    # 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
    OPTCOMPIND 2 # To hint the optimizer

    ONDBSPACEDOWN 2 # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT
    LBU_PRESERVE 1 # Preserve last log for log backup
    OPCACHEMAX 0 # Maximum optical cache size (Kbytes)

    # HETERO_COMMIT (Gateway participation in distributed transactions)
    HETERO_COMMIT 0

    # Optimization goal: -1 = ALL_ROWS(Default), 0 = FIRST_ROWS
    OPT_GOAL -1

    # Optimizer DIRECTIVES ON (1/Default) or OFF (0)
    DIRECTIVES 1

    # Status of restartable restore
    RESTARTABLE_RESTORE off
    CDR_LOGDELTA 30 # % of log space allowed in queue memory
    CDR_NUMCONNECT 16 # Expected connections per server
    CDR_NIFRETRY 300 # Connection retry (seconds)
    CDR_NIFCOMPRESS 0 # Link level compression (-1 never, 0 none, 9 max)
    BAR_DEBUG_LOG /tmp/bar_dbug.log # ON-Bar Debug Log - not in /tmp please
    BAR_DEBUG 1

    # NETTYPE
    NETTYPE soctcp,3,500,NET

    we seems to have a limit of user to 1024

    in the /etc/security/limits.conf file we have :
    root - nofile 8192
    informix - nofile 8192

    and in the sysctl.conf :
    # pour informix online:
    kernel.sem = 500 128000 32 256

    So where is the limit ? And which errors do we have ???

    Thanks a lot

  2. #2
    Join Date
    Aug 2003
    Location
    Argentina
    Posts
    780
    Hi,

    I think that you must check ONCONFIG file value NUMAIOVP=????. Are You using raw-devices or cooked files ?

    Gustavo.

  3. #3
    Join Date
    May 2004
    Location
    New York
    Posts
    248
    Also check you kernel parameters

Posting Permissions

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