Tuning E1 on Solaris 9

Fredo

Member
Hello,

I'd like to set correctly parameters for E1. I was unable to find rights documentations.

We'll have about 250 users.


My Platform :

E1 8.94 L1 on a Sun Fire V440 4 Gb RAM, 2 CPU, Solaris 9
Oracle 9.2.0.5 on a Sun Fire V440 8 Gb RAM, 4 CPU, Solaris 9
WebSphere 5.0.2.12 on 4 Sun Fire V240 4 Gb RAM, 2 CPU, Solaris 9

What's recommandations for parameters on the E1 server ( file /etc/system and jde.ini ) ?

Actually, I've got IPC error.

5854 Thu Mar 2 18:20:51.545649 ipcmisc.c294
IPC2100030 - createIPCSem failed, maxNumberOfSemaphores exceeded
5854 Thu Mar 2 18:20:51.545914 jdb_utl1.c3904
JDB9900361 - Failed to initialize IPC for reader/writer lock .Error : 11

5854 Thu Mar 2 18:20:51.546028 runbatch.c682
Unable to lock for ube install

2603 Thu Mar 2 20:32:36.487990 ipcmisc.c294
IPC3100008 - lockSemaphore failed, idx=8, errno=22: Invalid argument.

2603 Thu Mar 2 20:32:36.488293 ipcmisc.c294
IPC3100012 - Check OS kernel parameter semume.

Here the actual settings on the E1 server.

/etc/system :

set shmsys:shminfo_shmmax=1073741824
set shmsys:shminfo_shmmni=200
*
set semsys:seminfo_semmni=2000
set semsys:seminfo_semmsl=371
set semsys:seminfo_semmns=4000
set semsys:seminfo_semmnu=130
set semsys:seminfo_semume=4096
set semsys:seminfo_semopm=200
*
set msgsys:msginfo_msgmnb=32768
set msgsys:msginfo_msgmax=32768
set msgsys:msginfo_msgmni=256
set msgsys:msginfo_msgtql=2560

_______________________________

jde.ini:

[DB CACHE INFORMATION]
ODBC Tables=50
Maximum Request Cache=50
Library Cache=15

[JDEIPC]
ipcTrace=1
maxNumberOfSemaphores=200
startIPCKeyValue=7000

[JDENET]
serviceNameListen=6012
serviceNameConnect=6012
maxNetProcesses=10
maxNetConnections=1000
maxKernelProcesses=100
maxKernelRanges=24
netTrace=0
enablePredefinedPorts=0

[JDENET_KERNEL_DEF1]
krnlName=JDENET RESERVED KERNEL
dispatchDLLName=libjdenet.so
dispatchDLLFunction=JDENET_DispatchMessage
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF2]
krnlName=UBE KERNEL
dispatchDLLName=libjdeknet.so
dispatchDLLFunction=JDEK_DispatchUBEMessage
maxNumberOfProcesses=1
numberOfAutoStartProcesses=1

[JDENET_KERNEL_DEF3]
krnlName=REPLICATION KERNEL
dispatchDLLName=libjderepl.so
dispatchDLLFunction=DispatchRepMessage
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF4]
krnlName=SECURITY KERNEL
dispatchDLLName=libjdeknet.so
dispatchDLLFunction=JDEK_DispatchSecurity
maxNumberOfProcesses=4
numberOfAutoStartProcesses=2

[JDENET_KERNEL_DEF5]
krnlName=LOCK MANAGER KERNEL
dispatchDLLName=libtransmon.so
dispatchDLLFunction=TM_DispatchTransactionManager
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF6]
krnlName=CALL OBJECT KERNEL
dispatchDLLName=libxmlcallobj.so
dispatchDLLFunction=XMLCallObjectDispatch
maxNumberOfProcesses=60
numberOfAutoStartProcesses=5

[JDENET_KERNEL_DEF7]
krnlName=JDBNET KERNEL
dispatchDLLName=libjdeknet.so
dispatchDLLFunction=JDEK_DispatchJDBNETMessage
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF9]
krnlName=SAW KERNEL
dispatchDLLName=libjdesaw.so
dispatchDLLFunction=JDEK_DispatchSAWMessage
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF10]
krnlName=SCHEDULER KERNEL
dispatchDLLName=libjdeschr.so
dispatchDLLFunction=JDEK_DispatchScheduler
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF11]
krnlName=PACKAGE BUILD KERNEL
dispatchDLLName=libjdeknet.so
dispatchDLLFunction=JDEK_DispatchPkgBuildMessage
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF12]
krnlName=UBE SUBSYSTEM KERNEL
dispatchDLLName=libjdeknet.so
dispatchDLLFunction=JDEK_DispatchUBESBSMessage
maxNumberOfProcesses=1
numberOfAutoStartProcesses=1

[JDENET_KERNEL_DEF13]
krnlName=WORK FLOW KERNEL
dispatchDLLName=libworkflow.so
dispatchDLLFunction=JDEK_DispatchWFServerProcess
maxNumberOfProcesses=5
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF14]
krnlName=QUEUE KERNEL
dispatchDLLName=libqueueknl.so
dispatchDLLFunction=DispatchQueueMessage
maxNumberOfProcesses=1
numberOfAutoStartProcesses=1

[JDENET_KERNEL_DEF15]
krnlName=XML TRANS KERNEL
dispatchDLLName=libxmltransactions.so
dispatchDLLFunction=XMLTransactionDispatch
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF16]
krnlName=XML LIST KERNEL
dispatchDLLName=libxmllist.so
dispatchDLLFunction=XMLListDispatch
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF19]
krnlName=EVN KERNEL
dispatchDLLName=libjdeie.so
dispatchDLLFunction=JDEK_DispatchITMessage
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF20]
krnlName=IEO KERNEL
dispatchDLLName=libjdeieo.so
dispatchDLLFunction=JDEK_DispatchIEOMessage
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF22]
krnlName=XML DISPATCH KERNEL
dispatchDLLName=libxmldispatch.so
dispatchDLLFunction=XMLDispatch
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF23]
krnlName=XTS KERNEL
dispatchDLLName=libxtskrnl.so
dispatchDLLFunction=JDEK_DispatchXTSMessage
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF24]
krnlName=XML SERVICE KERNEL
dispatchDLLName=libxmlservice.so
dispatchDLLFunction=XMLServiceDispatch
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0


[NETWORK QUEUE SETTINGS]
JDENETTimeout=600
QKOnIdle=300

Thanks for your help

Frederic
 
Hi
Did you get that IPC error after a crash or if someone killed the processes? If so, you will need to clean up any old processes before your restart.

We are a similar sized system to yours and we have our
maxNumberOfSemaphores to 300 after experiencing a number of crashes in the early days of go-live.

For more info on your settings have a look in the System Admministration manual in about chapter 16. It has some info on the kernel and ini file parameters and there is also a document on the KG called "UNIX kernel parameter recommendations".

But it is worth showing any changes to the system file to a sun guru who is famaliar with the kernel settings as some of the recommendations from JDE are out of date with newer versions of Solaris or can be too small.
 
Hi Fredric,

Ur system parameter value are not set properly.

Bring down the database and JDE service before changing this value.


How these values should be set and there meaning -
SHMMAX=Maximum Size of single shared memory segment = 0.5 * RAM Size
SHMMIN=Minimum size of single shared memory segment
SHMMNI=Maximum number of shared memory segment
SHMSEG=Maximum number of shared memory segment one process can attach

SEMMNS=Maximum number of semaphore in entire system
SEMMSL=Maximum number of semaphore per set
SEMMNI=Maximum number of sempaphore sets in entire system

Do a back up of /etc/sytem file.

As per recommended you to set these value as :


set shmsys:shminfo_shmmax=2147483648
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=512
set shmsys:shminfo_shmseg=100
*
set semsys:seminfo_semmni=2000
set semsys:seminfo_semmsl=1024
set semsys:seminfo_semmns=6200
set semsys:seminfo_semmnu=130
set semsys:seminfo_semume=100
set semsys:seminfo_semopm=40
*
set msgsys:msginfo_msgmnb=32768
set msgsys:msginfo_msgmax=32768
set msgsys:msginfo_msgmni=256
set msgsys:msginfo_msgtql=2560

Also in JDE.ini change the [JDEIPC]

[JDEIPC]
ipcTrace=1
maxNumberOfSemaphores=500
startIPCKeyValue=8001

Reboot the server and then start the sevices.
Let me know once u have done.
 
Thanks for your response.

Finally, we made stress tests with this configuration :

File /etc/system

set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=1024
*
set semsys:seminfo_semmni=2048
set semsys:seminfo_semmsl=600
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmnu=4096
set semsys:seminfo_semume=512
set semsys:seminfo_semopm=200
*
set msgsys:msginfo_msgmnb=65535
set msgsys:msginfo_msgmax=65535
set msgsys:msginfo_msgmni=1024
set msgsys:msginfo_msgtql=10240

File JDE.INI

[JDEIPC]
ipcTrace=0
maxNumberOfSemaphores=500
startIPCKeyValue=7001

[JDENET]
serviceNameListen=6012
serviceNameConnect=6012
maxNetProcesses=10
maxNetConnections=250
maxKernelProcesses=80
maxKernelRanges=24
netTrace=0
enablePredefinedPorts=0

[JDENET_KERNEL_DEF6]
krnlName=CALL OBJECT KERNEL
dispatchDLLName=libxmlcallobj.so
dispatchDLLFunction=XMLCallObjectDispatch
maxNumberOfProcesses=20
numberOfAutoStartProcesses=5

We don't meet IPC problems but we meet bad response time.
We have add 2 CPU to the E1 server and now, it's work fine.

The new problem we meet is deadlocks on 2 tables : F43090 and F4102.

Frederic
 
What does you actually means by
"The new problem we meet is deadlocks on 2 tables : F43090 and F4102. "

IS this deadlock is only on 2 table?
 
Back
Top