DCE Application Programming Guide

Application Design Considerations
HP NonStop DCE Application Programming Guide429551-003
2-5
Capacity and Limits
choose the ncadg_ip_udp protocol sequence. Also, such a server should be
configured with many threads (see Table 2-3 and its notes).
Threading Limits
Any stack that is allocated for a thread in a TNS application is limited to the
maximum stack size allowed on the TNS architecture. The maximum allowable
stack size that can be specified for the pthread_attr_setstacksize()
function is currently 65536 bytes for a TNS application. This limit is further reduced
by the global data allocated for the program from the user data segment.
Any stack that is allocated for a thread in a TNS/R or TNS/E application is limited
to the maximum stack size allowed on the TNS/R or TNS/E architecture. The
maximum allowable stack size that can be specified for the
pthread_attr_setstacksize() function is currently 32 MB for a TNS/R or
TNS/E application.
The pthread_attr_setstacksize() function does not allow the stack size to
be set to a value larger than the maximum size allowed for a program. The stack
size defaults to the maximum size allowed for the program.
The maximum number of threads, condition variables, and mutexes to provide
mutual exclusion among threads is limited only by the amount of extended heap
memory available to the process. These maximums are therefore reduced by other
uses of heap memory by the program.
Table 2-3. NonStop DCE Capacity Limits
Measurement Limit Imposed
Maximum clients per server
(static limit)
1
Unlimited for ncadg_ip_udp
Approximately 512
2
for
ncacn_ip_tcp
Maximum server threads 1,800
Maximum principals
(per security server)
32,000 or more
3
Maximum CDS entries
(per CDS server)
Unlimited
(limited only by disk capacity)
Maximum dcecp script file size 53 kilobytes
1 The term “static” means that this limit is independent of the processing load. In addition, the processing
capacity of the server imposes another limit (a “dynamic” limit) on the number of clients.
2 This limit exists because a NonStop DCE server maintains at most 512 client associations. An association is
established when the client invokes a RPC, and an association is closed when not in use for 100 seconds or
more. An association carries at most one RPC at any given time. A multithreaded client can have more than one
association with a given server.
3 The limit of 32,000 has been successfully tested.