JDE Kernel settings

kieran_mahony95

Member
Hi
I was looking through the archives and saw references to increasing the
number of kernels running in Oneworld to improve performance. At the moment
we have approx concurrent 80 users and 10 object, 3 UBE and 1 jdbnet
kernels running. Should I look at increasing these to say 16 object, 4
jdbnet and maybe 4-5 UBE kernels? What settings do other sites have?

Our Apps server is a quad 700mhz Xeon with 3Gb Ram and our AS400 is a S30 4
way with 4gb memory. The rest is Xe Sp17.1 with co-existance, Win2000 Sp3,
V5r1.

Thanks
Kieran Mahony
JDE and AS/400 Administrator





CONFIDENTIALITY : This e-mail and any attachments are confidential and may be
privileged. If you are not a named recipient, please notify the sender
immediately and do not disclose the contents to another person, use it for any
purpose or store or copy the information in any medium.



AS400 V4R5, Win2000, Xe Sp17.1
 
Wow - what you're asking here isn't really a generic answer. The generic answer is "use the default settings".

However - all this depends on the type of architecture you have implemented. Are you using Websphere or Citrix/Terminal Servers - how many online Web HTML users do you have - how many Citrix/Terminal Server users do you have - are you using the "W" environments on the Terminal Servers ? Do you know where your Business functions are being mapped ? What applications are you running most often ? Sales Order Entry ? How many UBE's a day are you running in Production ? Whats the maximum number of Pickslips you run in parallel ?

Answer these questions, and I'll be able to guide you somewhat.
 
answer is "use the default settings".

I guess what I'm after is some guidleines so I can test and try.
Performance is always a issue here, so any perceived gain will be
appreciated by management.

implemented. Are you using Websphere or Citrix/Terminal Servers - >how
many online Web HTML users do you have - how many Citrix/Terminal Server
users do you have - are you using the "W" environments >on the Terminal
Servers ?

We use Citrix with about 60-80 on at any time using a W environment.


Apps server is the default.


Not too sure. Financials, purchasing and job cost are the main areas of
use. No sales related applications.

number of Pickslips you run in parallel ?

We dont use pickslips. We run about 300 UBEs a day but I havent figured a
way to get a accurate number.

take a long time to go from In Queue to Processing and I was wondering if
that had something to do with the number of kernels vs the number of UBEs
running.

Any help would be greatly appreciated.

Kieran

We are on Xe Sp17.1 with co-existance, Win2000 Sp3, V5r1.





CONFIDENTIALITY : This e-mail and any attachments are confidential and may be
privileged. If you are not a named recipient, please notify the sender
immediately and do not disclose the contents to another person, use it for any
purpose or store or copy the information in any medium.



AS400 V4R5, Win2000, Xe Sp17.1
 
Aha

First of all, you're using the infamous "W" Environments. I would certainly expect some stress on your Enterprise Server due to the logic load in the business functions here. You'll find that many customers nowadays no longer use these business function mappings - since they do introduce both a level of complexity as well as extra instability for little payback. I'd personally rather spend money on citrix servers than having to balance out your kernels properly. BUT - since it is my fault you're using the W environment ultimately (I introduced the reasons for the W environments to JDE back in 1998 for many documented reasons back then) - then I would suggest that you configure approximately 1 callobject kernels for every 10 concurrent user to start with. If you are finding that many of your users are heavy Distribution (Sales Order Processing) then slide this to 1 kernel for every 5 concurrent users (hope you have the memory on the Enterprise Server for this - 50Mb per kernel is a good key value).

The time that a UBE takes to go from "S" to "P" status is largely due to a number of factors. Firstly, post your server JDE.INI on this thread (take out the passwords please) so I can look a little more closely at your configuration. There is a timeout setting that actually waits a certain amount of time (default is 30 seconds) between when a UBE hits the Queue and when it starts processing. It is possible to reduce this, but if it goes too low, it can cause other issues with the F986110 becoming deadlocked.

60-80 users at a time on one citrix server is a LOT by the way - most customers I make the recommendation to size using an average of 32 users per server - allowing at most 40 per server on a Dual Pentium III (1Ghz) with 2Gb RAM - even if you have more CPU power available (P4 Xeon 2.8GHz for example), I would stick to the same sizing strategy, and let the users enjoy the speed of the system. Memory is more important on the Citrix servers for concurrent users - 2Gb should easily handle 32 users without much paging (paging is BAD) - more memory would allow more users, but you are reducing your ability to reduce the impact of a citrix server failure amongst your user population.

When I am configuring a system, I would do the following as a good guideline. Go out and spend cash on a great Citrix server configuration. Blow some cash on those nice Xeon 2.8Ghz P4 processors, add 3Gb RAM and some 15k RPM Ultra SCSI III drives in a Raid 5 configuration for your pathcodes. Purchase a nice Gigabit Ethernet switch on the backend (providing your AS400 can handle gigabit) - Total retail cost for such a configuration on a Compaq DL380 is less than $8000. Size this up for 32 users ($250 per user cost) and use the standard Environments (not the "W" environments). You'll zip along a LOT faster from interactive processes compared to playing with the callobject kernel settings - and you'll be able to configure a bunch of parallel UBE Queues since your AS400 won't be using up valuable memory handling the interactive workload.

Just my opinion. I'll look forward to seeing your JDE.INI file.
 
Hi Altquark,
I was reading your comments and found them very interesteing - thanks for posting so much detail. I do have a question for you in relation to this however.

We are currently running Big & Beefy Citrix servers (4x1GB PIII Xean Procs + 4GB ram) with around 40 users per box. We have seperated the JDEdwards logic from our database server, and this "Logic server" is the same size as a Citrix server - 4GB procs x 4GB ram.

We were currently in the middle of a project to move the people from the standard environments to the "W" environments. Would you still discourage this in our configuration? Our entire network is on dual fible channels to every server and we have around 400 users running accross 10 Citrix servers.
Thanks,

Stuart
 
From our experience of running a around 12 citrix servers with quad xeon and around 40 users each, we found that mapping to client side(NOT using w* environments) had a disastrous effect on our enterprise. System was very slow and our enterprise server was on idle. We couldn't map them back fast enough to the enterprise server. I guess it depends how much you use bsfns, where the data is held and what kind of enterprise server you have. We're currently running around 48 callobj kernels in *base with around 4.8Gb of memory in that pool. Our machine is a 4 way iSeries 830. We have around 300 concurrent users. If you need any more info let me know.
 
Hi
Hope this makes more sense this time

I didn't make myself very clear regarding our setup, we have 60-90 users
across 4 citrix servers (3 brand new Compaq DL380s each with 2 2.8 Xeons,
3Gb Ram, 15k disks and one Netfinity with 2 Xeon 550s with 3gb ram ). The
apps server is a Netfinity with quad Xeon 700 and 4Gb Ram. All the servers
have Mirrored system drives and Raid 5 data drives. Our AS400 doesn't
support gig network cards which would be nice, but its very unlikely we'll
get a new one soon.

Below is our ini file. We have too many UBE queues but we are in the
process of consolidating that. I got a bit of a shock when I started here
and first saw that.

Thanks in advance

Kieran Mahony
JDE and AS/400 Administrator

; OneWorld initialization file INI(JDE)
; NT Intel specific version - B73.3.3

[JDE_CG]
;TARGET=DEBUG
TARGET=RELEASE
INCLUDES=c:\Progra~1\Micros~1\Vc98\include;c:
\Progra~1\Micros~1\Vc98\mfc\include;$(SYSTEM)\INCLUDE;$(SYSTEM)\INCLUDEV;
$(SYSTEM)\CG;$(APP)\INCLUDE;
LIBS=c:\Progra~1\Micros~1\Vc98\lib;c:\Progra~1\Micros~1\Vc98\mfc\lib;
$(SYSTEM)\LIB32;$(SYSTEM)\LIBV32;$(APP)\LIB32;
MAKEDIR=c:\Progra~1\Micros~1\Common\Tools\WinNT;c:
\Progra~1\Micros~1\Common\MSDev98\Bin;c:\Progra~1\Micros~1\Common\Tools;c:
\Progra~1\Micros~1\VC98\bin
STDLIBDIR=c:\Progra~1\Micros~1\Vc98\lib;c:\Progra~1\Micros~1\Vc98\mfc\lib

[DEBUG]
LogErrors=1
Output=NONE
Trace=FALSE
DebugFile=d:\jdedwardsoneworld\ddp\b7333\log\jdedebug.log
JobFile=d:\jdedwardsoneworld\ddp\b7333\log\jde.log
ClientLog=1
JDETSFile=d:\jdedwardsoneworld\ddp\b7333\log\JDETS.log
KeepLogs=1
RepTrace=0
TamTraceLevel=0

[SVR]
SpecPath=spec
SourcePath=source
ObjectPath=obj
HeaderPath=include
HeaderVPath=includev
BinPath=bin32
LibPath=lib32
LibVPath=libv32
MakePath=make
WorkPath=work
EnvironmentName=PD7333
LibraryListName=PD7333

[INSTALL]
B733=d:\jdedwardsoneworld\ddp\b7333
Double_Byte=0
LocalCodeSet=WE_ISO88591
StartServicePrefix=JDE Update 3

[JDENET]
serviceNameListen=6009
serviceNameConnect=6009
maxNetProcesses=5
maxNetConnections=400
maxKernelProcesses=50
maxKernelRanges=13
netTrace=1
ServiceControlRefresh=5

[JDENET_KERNEL_DEF1]
krnlName=JDENET RESERVED KERNEL
dispatchDLLName=jdenet.dll
dispatchDLLFunction=_JDENET_DispatchMessage@28
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF2]
krnlName=UBE KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_JDEK_DispatchUBEMessage@28
maxNumberOfProcesses=3
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF3]
krnlName=REPLICATION KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_DispatchRepMessage@28
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF4]
krnlName=SECURITY KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_JDEK_DispatchSecurity@28
maxNumberOfProcesses=2
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF5]
krnlName=LOCK MANAGER KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_TM_DispatchTransactionManager@28
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF6]
krnlName=CALL OBJECT KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_JDEK_DispatchCallObjectMessage@28
maxNumberOfProcesses=10
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF7]
krnlName=JDBNET KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_JDEK_DispatchJDBNETMessage@28
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF8]
krnlName=PACKAGE INSTALL KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_JDEK_DispatchPkgInstallMessage@28
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF9]
krnlName=SAW KERNEL
dispatchDLLName=jdesaw.dll
dispatchDLLFunction=_JDEK_DispatchSAWMessage@28
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF10]
krnlName=SCHEDULER KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_JDEK_DispatchScheduler@28
maxNumberOfProcesses=1
numberOfAutoStartProcesses=1

[JDENET_KERNEL_DEF11]
krnlName=PACKAGE BUILD KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_JDEK_DispatchPkgBuildMessage@28
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF12]
krnlName=UBE SUBSYSTEM KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_JDEK_DispatchUBESBSMessage@28
maxNumberOfProcesses=1
numberOfAutoStartProcesses=0

[JDENET_KERNEL_DEF13]
krnlName=WORK FLOW KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_JDEK_DispatchWFServerProcess@28
maxNumberOfProcesses=5
numberOfAutoStartProcesses=0

[NETWORK QUEUE SETTINGS]
QEnv=PD7333
QueueDelay=2
UBEPriority=5
JDENETTimeout=120
UBEQueues=16
UBEQueue1=QB7333
UBEQueue2=BATCHPM
UBEQueue3=BATCHPOST
UBEQueue4=SLEEPER
UBEQueue5=CO00201
UBEQueue6=CO00390
UBEQueue7=CO00401
UBEQueue8=CO00500
UBEQueue9=CO01000
UBEQueue10=CO08000
UBEQueue11=CO00701
UBEQueue12=REPORTS
UBEQueue13=REPORTS2
UBEQueue14=QB7332
UBEQueue15=BATCHAUS
UBEQueue16=MAXINTF
PackageQueues=1
PKGQueue1=QB7333
SpecInstallQueues=1
SpcQueue1=QB7333
KillImmediate=1

[BSFN BUILD]
BuildArea=\jdedwardsoneworld\ddp\b7333\packages
OptimizationFlags=/Gz /O2 /MD /W4 /GX /Gy
DebugFlags=/Gz /Od /Zi /MDd /Yd /W4 /GX /Gy /D "_DEBUG"
InliningFlags=
DefineFlags=/D "WIN32" /D "_WINDOWS" /D "IAMASERVER" /D "KERNEL"
CompilerFlags=/nologo /c
OSReleaseLevel=5.0
LinkFlags=/DLL /DEBUG /SUBSYSTEM:windows /FORCE:MULTIPLE /FORCE:UNRESOLVED
/INCREMENTAL:YES /VERBOSE /MAP
LinkLibraries=jdekrnl.lib jdel.lib jdenet.lib jdeipc.lib owver.lib
SimultaneousBuilds=0

[JDEIPC]
ipcTrace=0
CLSID={01D5F971-ED04-11d5-9739-000102CC9178}
startIPCKeyValue=6001

[JDEMAIL]
Rule1=90|OPT|MAILSERVER=mail.jdedwards.com
Rule2=100|DEFAULT|[email protected]
Rule3=110|DEFAULT|[email protected]
Rule4=120|DEFAULT|[email protected]
Rule5=130|OPT|MERGELOCAL=1
Rule6=140|OPT|UPDATELOCAL=0

[DB SYSTEM SETTINGS]
Version=43
ODBCCursors=1
CursorType=3
Default Env=PD7333
Default PathCode=PD7333
Base Datasource=AAUCAP01 - B7333 Server Map
Object Owner=
Server=AAUCAS01
Database=AAUCAP01 - B7333 Server Map
Load Library=JDBODBC.DLL
Decimal Shift=Y
Julian Dates=Y
Use Owner=N
Secured=Y
Type=I
Library List=AAUCAS01
TDSError=1
ConnectionPooling=0

[UBE]
UBEDebugLevel=0

[LOCK MANAGER]
Server=AAUCAP01
AvailableService=NONE
RequestedService=NONE

[SERVER ENVIRONMENT MAP]

[SECURITY]
SecurityServer=AAUCAP01
DefaultEnvironment=PD7333
DataSource=System - B7333
History=1

[Bsfn Builder]
BuildArea=d:\jdedwardsoneworld\ddp\b7333



Aha

First of all, you're using the infamous "W" Environments. I would
certainly expect some stress on your Enterprise Server due to the logic
load in the business functions here. You'll find that many customers
nowadays no longer use these business function mappings - since they do
introduce both a level of complexity as well as extra instability for
little payback. I'd personally rather spend money on citrix servers than
having to balance out your kernels properly. BUT - since it is my fault
you're using the W environment ultimately (I introduced the reasons for
the W environments to JDE back in 1998 for many documented reasons back
then) - then I would suggest that you configure approximately 1 callobject
kernels for every 10 concurrent user to start with. If you are finding
that many of your users are heavy Distribution (Sales Order Processing)
then slide this to 1 kernel for every 5 concurrent users (hope you have
the memory on the Enterprise Server for this - 50Mb!
per kernel is a good key value).

The time that a UBE takes to go from "S" to "P" status is largely due to a
number of factors. Firstly, post your server JDE.INI on this thread (take
out the passwords please) so I can look a little more closely at your
configuration. There is a timeout setting that actually waits a certain
amount of time (default is 30 seconds) between when a UBE hits the Queue
and when it starts processing. It is possible to reduce this, but if it
goes too low, it can cause other issues with the F986110 becoming
deadlocked.

60-80 users at a time on one citrix server is a LOT by the way - most
customers I make the recommendation to size using an average of 32 users
per server - allowing at most 40 per server on a Dual Pentium III (1Ghz)
with 2Gb RAM - even if you have more CPU power available (P4 Xeon 2.8GHz
for example), I would stick to the same sizing strategy, and let the users
enjoy the speed of the system. Memory is more important on the Citrix s!
ervers for concurrent users - 2Gb should easily handle 32 users without
much paging (paging is BAD) - more memory would allow more users, but you
are reducing your ability to reduce the impact of a citrix server failure
amongst your user population.

When I am configuring a system, I would do the following as a good
guideline. Go out and spend cash on a great Citrix server configuration.
Blow some cash on those nice Xeon 2.8Ghz P4 processors, add 3Gb RAM and
some 15k RPM Ultra SCSI III drives in a Raid 5 configuration for your
pathcodes. Purchase a nice Gigabit Ethernet switch on the backend
(providing your AS400 can handle gigabit) - Total retail cost for such a
configuration on a Compaq DL380 is less than $8000. Size this up for 32
users ($250 per user cost) and use the standard Environments (not the "W"
environments). You'll zip along a LOT faster from interactive processes
compared to playing with the callobject kernel settings - and you'll be
able to configure a bu!
nch of parallel UBE Queues since your AS400 won't be using up valuable
memory handling the interactive workload.

Just my opinion. I'll look forward to seeing your JDE.INI file.
Jon Steel
OneWorld Technical Specialist
erpSOURCING LLC
http://www.erpsourcing.com
[email protected]
24/7 Response Line - (904) 382 5701
--------------------------
To view this thread, go to:
http://www.jdelist.com/ubb/showthreaded.php?Cat=&Board=OW&Number=50015
+ - - - - - - - - - - - - - - - - - - - - - - - -+
This is the JDEList One World® / XE mailing list/forum.
Archives and information on how to SUBSCRIBE, and
UNSUBSCRIBE can be found on the JDEList Forum at
http://www.JDEList.com

JDEList is not affiliated with JDEdwards®

+ - - - - - - - - - - - - - - - - - - - - - - - -+




CONFIDENTIALITY : This e-mail and any attachments are confidential and may be
privileged. If you are not a named recipient, please notify the sender
immediately and do not disclose the contents to another person, use it for any
purpose or store or copy the information in any medium.



AS400 V4R5, Win2000, Xe Sp17.1
 
Hi Kieran,
here is our ini file. We have around 300 concurrent users over 12 citrix server connected via 100mbps token ring. We have around 40 users per server. We have around 48 callobj kernels which I think may be a lot, but we are quite intensive on bespoke BSFN tasks.
 

Attachments

  • 50153-ini.txt
    13 KB · Views: 299
Back
Top