Colleague Self-Service Hardware
and Software Configuration Guide
Colleague Self-Service 2.10+
Colleague Web API 1.10+
Last Updated May 26, 2016
Page 2 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Revision History
February 2016
Original publication.
May 2016
Updated to reflect new features of Colleague Web API 1.12 (DAS
Data Reader).
Table of Contents
Revision History ......................................................................................................................... 2
Purpose and goals ..................................................................................................................... 3
Colleague Self-Service components .......................................................................................... 3
Resource differences between Colleague WebAdvisor and Colleague Self-Service/Colleague
Web API..................................................................................................................................... 4
Software capacities and limitations ............................................................................................ 5
Load balancing........................................................................................................................... 6
Hardware resource guidelines .................................................................................................... 9
Software configuration guidelines .............................................................................................12
Determining your Colleague Self-Service deployment ...............................................................20
Colleague Self-Service deployment planning and settings worksheet .......................................27
Procedures reference................................................................................................................29
Page 3 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Purpose and goals
This guide provides detailed software background, hardware requirements, software
configuration guidance, and deployment planning guidance for Colleague Self-Service and
supporting infrastructure with the goal of providing the information needed for a successful
deployment of Colleague Self-Service.
Colleague Self-Service components
The Colleague Self-Service solution is a web application utilizing several other Colleague
components. The following diagram illustrates the major components of the “Colleague Self-
Service stack.
Feature of API v1.12+
Web Browser
Colleague Self-Service
Colleague Application Server
Colleague Web API
DMI application listener DMI DAS listener
Page 4 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Resource differences between Colleague WebAdvisor and Colleague
Self-Service/Colleague Web API
While both Colleague WebAdvisor and Colleague Self-Service share some of the same
components and transactional processing traits, there are several differences within the
Colleague Self-Service stack that cause those resources to be utilized differently. In general,
Colleague Self-Service pages combine many Colleague WebAdvisor pages into one which
means more data access to display a given page. At the same time by moving business logic
and data processing into the Colleague Web API’s RESTful APIs, the point at which data
access occurs has been moved ‘up’ the stack. The following diagram illustrates these changes.
Web Browser
Colleague Self-Service
Colleague
Application Server
Colleague Web API
DMI
application
listener
Web Browser
Colleague WebAdvisor
Colleague Application Server
DMI application
listener
Web Form Process
Business logic /
data access
Business logic
Presentation logic
DMI DAS
listener
Feature of API
v1.12+
The resulting architecture now performs the majority of data access from a ‘higher’ point in the
stack using the same connection paths as before meaning that the point where overall data
request ‘split’ into smaller data transactions is at that ‘higher’ point in the stack. This results in
increased usage of the DMI application listener’s Connection Pool as more, smaller,
transactions rely on that connection path. The ultimate result is that this architecture needs a
DMI application listener Connection Pool size larger than Colleague WebAdvisor due to the
increased data access to render a single page and those data accesses occurring at a different
point in the software stack.
Page 5 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Software capacities and limitations
Each component within the Colleague Self-Service stack has upper limits on the number of
concurrent users or concurrent request that can be handled before performance begins to
severely degrade. Many of these capacity limitations are based on how the software is tuned
but a few are based on hardware and architecture of each component. The numbers given in
this section are based on the tuning guidance within this document with the individual
capacities/limitations of each component taking into account the other supporting components in
the Colleague Self-Service stack.
Colleague Self-Service
A single instance of Colleague Self-Service can handle around 700 concurrent users/page
requests before the web application begins to degrade in performance. Short bursts can be
tolerated but sustained load above this number will result in noticeably slower response times.
The capacity is limited primarily by the number of concurrent connections allowed to the
Colleague Web API (Colleague Web API Connection Limit setting). Colleague Self-Service is
primarily an I/O-bound application that relies on the Colleague Web API for all data I/O. As
such, the number of concurrent API requests allowed has a large impact on how long it takes to
service a page request. To a lesser degree the capacity is also limited by the number of open
sockets on the host OS as browsers and web application like Colleague Self-Service open
multiple persistent connections to facilitate the application functionality. The large number
sockets opening and closing takes away CPU cycles for running applications.
Colleague Web API
A single instance of Colleague Web API can handle around 400 concurrent API data requests.
Short bursts can be tolerated but will result in increased response times. The Colleague Web
API is a CPU-bound application as the majority of the workload is reading/invoking transactions
in Colleague and transforming that data into JSON responses. Besides CPU, the capacity of the
API is greatly limited by the number of concurrent connections to the DMI application listener
(Connection Pool Size setting) that can be used to interact with Colleague and the amount of
time the slowest transactions take. In order to help limit the amount of I/O performed against
Colleague, the Colleague Web API caches source data when possible where the source data
does not change often or at all under most operational circumstances. Even with caching in-
place, the number of concurrent connections allowed to the DMI application listener and to a
greater point, the speed of the transactions has a large influence on the overall performance.
Take registration, for example, which is traditionally one of the slowest transactions. As more
registration transactions consume the allotted concurrent connections to the DMI application
listener, all transactions (fast or slow) have to wait for the resources to free which has a
snowball effect that causes all request to slow.
Page 6 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
DMI application listener
A single instance of DMI with the application listener role can service a large number of
concurrent requests with relative ease and reliability but the type of transactions has a great
deal of influence on this reliability. In terms of Colleague Self-Service, the DMI application
listener is focused on a small number of request types, of which most simply pass-through to
Colleague for further processing. However, many of these requests have large response bodies
and thus consume more listener memory requiring more RAM to be allocated to the listener.
Besides listener memory, the primary limiting factor is the number of concurrent Colleague
Application Server connections (Connection Pool Size setting) since almost all transactions will
be passed-through to Colleague for servicing. In general having larger connection pools can
degrade performance and also presents a potential failure point if multiple Colleague Web APIs
are using the same listener. A Connection Pool Size above 100 should be avoided if possible. If
a larger Connection Pool Size is used the listener will require additional memory and could
become unstable under very heavy load.
Load balancing
Colleague Self-Service and portions of the supporting infrastructure can be easily load balanced
for load distribution and fail-over. As the expected number of concurrent users/request
increases load balancing becomes a requirement for successful operation of Colleague Self-
Service. Load balancing is critical during periods of heavy usage such as registration to limit
bottlenecks within the Colleague Self-Service stack. There are several ways to balance the load
amongst the components in order to provide the capacity needed. While Ellucian recommends
and supports Colleague Self-Service running in a load balanced environment, Ellucian does not
directly support or recommend any specific load balancing appliance/solution.
Page 7 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Colleague Self-Service
Load balancing Colleague Self-Service involves the following step:
- Install each instance of Colleague Self-Service following the standard installation
instructions.
- Set a static machine key for the first instance of Colleague Self-Service. This is an
additional step that is not normally performed when installing Colleague Self-Service.
See Configuring a Colleague Self-Service static machine key procedure within this guide
for steps.
- Fully configure the first instance of Colleague Self-Service and test as if you were
installing only one instance.
- Configure the remaining instance(s) of Colleague Self-Service by:
a. Set the same static machine key as the first instance. See Copying a static
machine key from one instance to another procedure within this guide for steps.
b. Duplicate the settings from the first instance of Colleague Self-Service
(connection settings, branding, theming and menu and page access). This can
be done manually in each instance or you can copy the following files from the
first instance to the others:
App_Data\settings.config
App_Data\sitemap.config
Content\Theme.css
Your logo images (typically placed in Content\Images directory)
c. Test each instance to ensure it is functional and configured as desired.
- Configure the load balancer:
a. Use a least connections or least activity balancing strategy
b. Do not use session affinity (sticky load balancing). Colleague Self-Service is
stateless and any node being balanced can handle the request as long as the
IIS/software configuration is correct.
Tips when load balancing Colleague Self-Service:
1. When making configuration changes though the Colleague Self-Service UI
(Student/Admin) pages do so using the URL of each instance and not the load balanced
URL then replicate the settings to each additional instance to ensure that all instances
are configured the same way.
2. The Unique Cookie ID setting must be the same for all instances.
Page 8 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Colleague Web API
Load balancing Colleague Web API involves the following steps:
1. Install each instance of Colleague Web API following the standard installation
instructions.
2. Fully configure the first instance of Colleague Web API and test as if you were installing
only one instance.
3. Configure the remaining instance(s) of Colleague Web API by:
a. Set the same static machine key as the first instance. See Copying a static
machine key from one instance to another procedure within this guide for steps.
b. Configure setting to be the same as the first instance. This can be done manually
in each instance or you can copy the following files from the first instance to the
others:
App_Data\settings.config
Your report logo(s) (typically placed in the Images directory)
c. Test each instance to ensure it is functional and configured as desired.
4. Configure the load balancer:
a. Use a least connections or least activity balancing strategy
b. Do not use session affinity (sticky load balancing). Colleague Web API is
stateless and any node being balanced can handle the request as long as the
IIS/software configuration is correct.
DMI application listener
DMI by itself cannot be load balanced in the traditional sense. Instead, multiple DMI application
listeners can be installed in scenarios where there are multiple Colleague Web APIs and
through configuration different Colleague Web APIs can share or use different DMI application
listeners. The need for additional DMI application listeners will be based on how many
Colleague Web API instances are in use and taking into account the total capacity of each DMI
application listener in terms of their Connection Pool Size. Using multiple DMI application
listeners is also a strategy for limiting interruption in the case of failure as if one DMI application
listener fails the entire set of Colleague Web API instances will not all fail along with it.
Page 9 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Hardware resource guidelines
The following resource guidelines represent the minimum required hardware based on the
maximum software capacities/limitations and software configuration guidelines discussed within
this guide.
Colleague Self-Service
Value
Remarks
8
6 GB
Colleague Web API
Value
Remarks
16
8 GB
Colleague Application Server
The following guidelines focus on the Colleague Application Server resources needed to
support the Colleague Self-Service stack and are in addition to resources that will be needed to
run other Colleague applications, such as other DMI application listeners, the DAS (for UniData
clients), Colleague UI and background processing. These values are not exact guidelines as
there are many factors that can cause the actual resource consumption to be more or less than
the values stated below; they are meant to provide a reasonable starting point based on
experience.
Value
Remarks
2 cores for each DMI
application listener
1 core for every 6 UniData
licenses used by the DMI
application listener
Each DMI application listener
should be allocated a
minimum of 2 CPU cores.
For every 6 UniData licenses
used 1 CPU core should be
allocated. This count does not
include the database
connection for UniData
clients.
Page 10 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
2 GB for each Colleague Web
API being used
256 MB for each UniData
license used by the DMI
application listener(s)
Each DMI application listener
servicing Colleague Self-
Service should have no less
than 2 GB of heap space
allocated for each Colleague
Web API instance pointing to
that DMI application listener.
Based on the limitations of
this guide, if a DMI application
listener is servicing a single
Colleague Web API, then that
DMI application listener would
require 2 GB. If two Colleague
Web APIs are using the DMI
application listener, then the
allocation would be 4 GB.
For each UniData license
used a planned RAM
allocation of 256 MB should
be made. This can vary if the
UniData memory allocation
settings are larger but 256 MB
is a good baseline for what a
UniData executable could
consume while running
Colleague Self-Service
transactions. This count does
not include the database
connection for UniData
clients.
For example, if the total
UniData licenses used by all
DMI application listeners is
100, then 25 GB of RAM
should be allocated (256 MB x
100 = 25600 MB \ 1024 = 25
GB). Reminder: this RAM
allocation is just for Colleague
Self-Service and does not
take into account the other
needs of the Colleague
Application Server such as
other DMI listeners, Colleague
UI, and background
processes.
Page 11 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
DMI DAS Listener (when using DAS Data Reader feature of API 1.12+)
The following resource guidelines are for when a separate DMI DAS listener is setup exclusively
for use with the DAS Data Reader feature of Colleague Web API 1.12+.
Value
Remarks
2
4 GB
Page 12 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Software configuration guidelines
The following guidelines are based on the maximum software capacities and hardware resource
guidelines discussed within this guide.
Colleague Self-Service
Setting
Value
Remarks
Microsoft .NET configuration - machine.config
(32-bit, C:\Windows\Microsoft.NET\Framework\v4.0.xxxxx\Config\machine.config)
processModel element
<processModel
enable="true"
autoConfig="false"
maxWorkerThreads="A"
maxIoThreads="A"
minWorkerThreads="B"
minIoThreads="B" />
* See remarks for calculations used
to determine A and B above.
A = 1200 / CPU cores
B = Ceiling(A / 2)
Based on the hardware
resource guidelines (8 CPU
cores) A=150 and B=75.
Note: If copied from this
document ensure that quote
characters are normal quotes
and not back/forward quote
characters as this will cause
the .NET to fail initialization
Note: The processModel
setting is the ONLY setting
that should be changed in the
machine.config file! Other
Ellucian products, such as
Colleague UI, call for other
changes to this file and those
changes will negatively affect
the performance of Colleague
Self-Service!
IIS - Application Pool Advanced Settings
Process Model:
Idle Time-out (minutes)
1440
Process Model:
Maximum Worker
Processes
2
Recycling:
Regular Time Interval
(minutes)
0
Recycling:
Specific Times
None
Page 13 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Colleague Self-Service application settings
Colleague Web API
Connection Limit
400
Colleague Self-Service web.config file
(Student\web.config)
AppSettings:
Registration Mode
<add key="RegistrationMode"
value="True"/>
This is a recommended
setting that has been added
to improve performance.
Enable (by settings to True)
during planned registration
periods to shift resource
usage to favor better
registration performance.
Disable (by settings to False)
during all other times.
Page 14 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Colleague Web API
Setting
Value
Remarks
Microsoft .NET configuration - machine.config
(32-bit, C:\Windows\Microsoft.NET\Framework\v4.0.xxxxx\Config\machine.config)
processModel element
<processModel enable="true"/>
This is the default setting in
the machine.config. You
should not have to modify this
value.
IIS - Application Pool settings
Process Model:
Idle Time-out (minutes)
1440
Process Model:
Maximum Worker
Processes
1
Recycling:
Regular Time Interval
(minutes)
0
Recycling:
Specific Times
None
These recycling settings
assume that the Colleague
Web API warm-up script is
being run, at a minimum,
once every 24 hours.
Colleague Web API application settings
API v1.11 and
prior
API v1.12+
Using DAS Data
Reader
Use of the DAS Data Reader
in API v1.12+ is
recommended for both
performance and better
license utilization. If not using
this option follow the
guidance for API v1.11 and
prior.
Connection Pool Size
50
20
DAS Connection Pool
Size
N/A
30
Page 15 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
DAS Data Reader feature of API v 1.12+
In on-going efforts to improve performance, the ability for Colleague Web API to fetch read-only
data directly from a DMI DAS listener was added in version 1.12. This feature provides the
fastest path possible for reading data in the Colleague architecture and can do so using fewer
database connections when compared to using the DMI application listener for reading data.
Given that the majority of data provided through the Colleague Web API is from read-only
sources, enabling this feature removes all data read requests from the DMI application listener,
freeing those connections for data updates and login/logout activities. Some important notes to
keep in mind are:
- The Colleague Web API must be able to talk to a DMI DAS listener so firewall rules may
need to be adjusted.
- The connections can be secured.
- The DAS Data Reader feature supports connection pooling for efficient use of DAS
connections
- The connections to the DMI DAS listener use a much shorter timeout than normal
Colleague connections to prevent sessions from remaining active for long periods of
time after burst loads.
- While a separate DMI DAS listener is not required, it is suggested to use a dedicated
DMI DAS listener for this feature, especially in cases of multiple Colleague Web APIs
being used in a given environment.
- This feature is currently opt-in via the Colleague Web API Connections settings page.
Switching it on and off is as easy as checking a checkbox. Ellucian felt it important to
provide this feature to improve performance but did not want to simply force its use.
Page 16 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Colleague Application Server
Setting
Value
Remarks
DMI application listener DMI Defaults settings
Connection Pool Size
Sum of the Connection Pool Size
values from all Colleague Web API
instances connecting to this DMI
application listener, maximum of
100.
API v1.11 (and prior), API
v1.12 not using DAS Data
Reader
Based on these guidelines
this value will either be 50
(when one Colleague Web
API instance uses this DMI
application listener) or 100
(when two Colleague Web
API instances use this DMI
application listener).
API v1.12+ Using DAS Data
Reader
Based on these guidelines
this value will be between 20
and 100 in increments of 20
based on the number of
Colleague Web API instances
using this DMI application
listener.
Web Overflow Pool
Size
5
Pool Thread Timeout
(secs)
300
Web Exec Timeout
(secs)
300
Transactions Before
Database Refresh
100,000
Page 17 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
DMI application listener properties
Max Concurrent
Connections
Sum of the Connection Pool Size
values from all Colleague Web API
instances connecting to this DMI
application listener times 2.
API v1.11 (and prior), API
v1.12 not using DAS Data
Reader
Based on these guidelines
this value will either be 100
(when one Colleague Web
API instance uses this DMI
application listener) or 200
(when two Colleague Web
API instances use this DMI
application listener).
API v1.12+ Using DAS Data
Reader
Based on these guidelines
this value will be between 40
and 200 in increments of 40
based on the number of
Colleague Web API instances
using this DMI application
listener.
Page 18 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
JVM Arguments d64
-d64
-Xms and -Xmx
When the DMI application
listener is running on 64 bit
hardware (which is almost
always the case) ensure that
the d64 argument is present
so that Java uses 64-bit
memory management.
-Xms sets the starting
memory size of the Java JVM
and Xmx sets the maximum
amount of memory the Java
JVM can use.
Ensure that the correct
amount of Java JVM memory
is allocated to each listener
using the -Xms and Xmx
arguments. Allocate 2 GB for
each Colleague Web API
connecting to this DMI
application listener. Based on
the guidelines If one
Colleague Web API is
connecting the values would
be -Xms2048m Xmx2048m,
if two are connecting then the
values would be -Xms4096m
-Xmx4096m. Not having
Xms and Xmx set the same
is dangerous and often
results in out of memory
scenarios that will crash the
DMI application listener under
heavy load!
Registry Pool Size
5
Page 19 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
DMI DAS Listener (when using DAS Data Reader feature of API 1.12+)
The following software configuration guidelines are for when a separate DMI DAS listener is
setup exclusively for use with the DAS Data Reader feature of Colleague Web API 1.12+.
Setting
Value
Remarks
DMI DAS listener properties
Max Concurrent
Connections
Sum of the DAS Connection Pool
Size values from all Colleague Web
API instances connecting to this DMI
DAS listener times 2.
The maximum for a single
DMI DAS listener should not
exceed 200 connections
(before being multiplied by 2).
Consider using multiple DMI
DAS listeners if the sum of
the DAS Connection Pool
Size values from all
Colleague Web API instances
connecting to this DMI DAS
listener exceeds 200.
JVM Arguments d64
-d64
-Xms and -Xmx
When the DMI DAS listener is
running on 64 bit hardware
(which is almost always the
case) ensure that the d64
argument is present so that
Java uses 64-bit memory
management.
-Xms sets the starting
memory size of the Java JVM
and Xmx sets the maximum
amount of memory the Java
JVM can use.
Ensure that the correct
amount of Java JVM memory
is allocated to each DMI DAS
listener using the -Xms and
Xmx arguments. Allocate 4
GB, making the values
-Xms4096m -Xmx4096m. Not
having Xms and Xmx set
the same is dangerous and
often results in out of memory
scenarios that will crash the
DMI DAS listener under
heavy load!
Page 20 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Determining your Colleague Self-Service deployment
The first step in determining the amount of Colleague Self-Service infrastructure to deploy is to
determine the expected concurrent user load that could occur. While the natural answer would
be the size of the student population, this in many operational scenarios is beyond what is really
needed. The best answer comes from registration periods and the maximum number of users
who can register at the same time which is often limited by Colleague registration priorities.
Once the number of expected concurrent users is determined that number is used to calculate:
- The number of Colleague Self-Service instances needed,
- The number of Colleague Web APIs needed to support the Colleague Self-Service
instances,
- The number of DMI application listener instances needed to support the Colleague Web
API instances,
- And finally the amount of Colleague Application Server resources needed to support the
transactional needs of the DMI application listener(s).
Remember that Colleague Self-Service and the Colleague Web API can be load balanced to put
in place the necessary instances to support the expected load, and multiple DMI application
listeners can be installed if one DMI application listener is not enough based on the number of
Colleague Web APIs in use.
This section is split into two sub-sections. The first sub-section bases its calculations
using the tuning guidance of Colleague Web API 1.11 and prior. The second sub-section
bases its calculations using the tuning guidance of Colleague Web API 1.12+.
Page 21 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Sample deployment calculations using Colleague Web API v1.11 (and prior)
The following table provides sample calculations based on a typical small, medium, large and
extra-large load sizes when using Colleague Web API v 1.11 and prior. Remember that each
instance or license has hardware requirements which are listed in the Hardware resource
guidelines section of this guide.
Load
Size
Number
of
Reg/hour
Concurrent
Self
Service
Users
(estimated
in first 10
minutes)
Colleague
Self-
Service
Instances
Colleague
Web API
Instances
DMI
Application
Listeners
Colleague
Licenses
(UniData
Licenses)
By Client
Database
Type
Small
250
125
1
1
1
UniData: 115
SQL/Oracle:
55
Medium
700
350
1
1
1
UniData: 115
SQL/Oracle:
55
Large
2,000
1,000
2, Load
Balanced
3, Load
Balanced
2
UniData: 330
SQL/Oracle:
160
Extra
Large
5,000
2,500
4, Load
Balanced
7, Load
Balanced
4
UniData: 760
SQL/Oracle:
370
Page 22 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Large Load sample using Colleague Web API v1.11 (and prior), explained
- 2 Colleague Self-Service instances, load balanced.
o A single instance of Colleague Self-Service can handle around 700 concurrent
users. Two instances will be needed to support 1000 users.
- 3 Colleague Web API instances, load balanced.
o A single instance of Colleague Web API can handle around 400 concurrent
requests. Three instances will be required to support 1000 requests from the
1000 users.
- 2 DMI application listeners.
o A single DMI application listener can handle, at most, two instances of Colleague
Web API with the recommended Connection Pool Size of 50 from each
Colleague Web API instance. Two DMI application listeners will be needed.
The first listener will be servicing two Colleague Web API instances. At
any given time, it will only ever receive 100 requests from the Colleague
Web API instances (50 from each).
The second listener will only be servicing one Colleague Web API
instance. At any given time, it will only ever receive 50 requests from the
third Colleague Web API instance.
The Connection Pool Size (DMI Defaults) will be 100. The first listener will
use all 100 connections, but the second listener will only use 50 of the
100. This effectively results in 150 maximum connections made to
Colleague even though the listeners have the ability to create 200
connections to Colleague. The Connection Pool Size (Colleague Web
API) of the third Colleague Web API instance being 50 makes this work!
The Web Overflow Pool Size (DMI Defaults) will be 5. With two DMI
listeners in use, a maximum of 10 connections can be made to
Colleague.
The Registry Pool Size (listener properties) of each DMI Application
listener will be 5. With two DMI listeners in use, a maximum of 10
connections can be made to the database.
Page 23 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
- Colleague licenses (UniData Licenses)
o UniData clients will need 330.
The sum of the Connection Pool Sizes (DMI Defaults) is 150 which are
multiplied by 2 to account for the DAS connection to UniData for a
subtotal of 300.
The sum of the Web Overflow Pool Sizes (DMI Defaults) is 10 which are
multiplied by 2 to account for the DAS connection to UniData for a
subtotal of 20.
The sum of the Registry Pool Sizes (listener properties) is 10 and is not
multiplied by 2 as they are direct UniData connections for a subtotal of 10.
300 plus 20 plus 10 results in a grand total of 330 UniData licenses
needed to support 1000 concurrent Colleague Self-Service users.
o SQL and Oracle clients will need 160
The sum of the Connection Pool Sizes (DMI Defaults) is 150.
The sum of the Web Overflow Pool Sizes (DMI Defaults) is 10.
The Registry Pool Sizes (listener properties) are direct SQL or Oracle
connections and do not impact the UniData license count.
150 plus 10 results in a grand total of 160 UniData licenses needed to
support 1000 concurrent Colleague Self-Service users.
- Deployment diagram:
Web Browser
Colleague Self-Service
Colleague Application Server
Colleague Web API
DMI application listener
Colleague Web API
Colleague Self-Service
Colleague Web API
DMI application listener
Load Balancer
Load Balancer
Page 24 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Sample deployment calculations using Colleague Web API v1.12+
The following table provides sample calculations based on a typical small, medium, large and
extra-large load sizes when using Colleague Web API v 1.12. Remember that each instance or
license has hardware requirements which are listed in the Hardware resource guidelines section
of this guide.
Load
Size
Number
of
Reg/ho
ur
Concurre
nt Self
Service
Users
(estimate
d in first
10
minutes)
Colleagu
e Self-
Service
Instance
s
Colleagu
e Web
API
Instance
s
DMI
Applicati
on
Listeners
Colleague
Licenses
(UniData
Licenses) By
Client
Database
Type
Total
DMI
DAS
listener
connec
tions
Small
250
125
1
1
1
UniData: 85
SQL/Oracle:
25
30
Medium
700
350
1
1
1
UniData: 85
SQL/Oracle:
25
30
Large
2,000
1,000
2, Load
Balanced
3, Load
Balanced
1
UniData: 225
SQL/Oracle:
65
90
Extra
Large
5,000
2,500
4, Load
Balanced
7, Load
Balanced
2
UniData: 520
SQL/Oracle:
150
210
Page 25 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Large Load sample using Colleague Web API v1.12, explained
- 2 Colleague Self-Service instances, load balanced.
o A single instance of Colleague Self-Service can handle around 700 concurrent
users. Two instances will be needed to support 1000 users.
- 3 Colleague Web API instances, load balanced.
o A single instance of Colleague Web API can handle around 400 concurrent
requests. Three instances will be required to support 1000 requests from the
1000 users.
- 1 DMI application listener.
o A single DMI application listener can handle, at most, five instances of Colleague
Web API with the recommended Connection Pool Size of 20 from each
Colleague Web API instance. Only one DMI application listener will be needed as
3 Colleague Web API instances will produce a total Connection Pool Size of 60.
The Connection Pool Size (DMI Defaults) will be 60.
The Web Overflow Pool Size (DMI Defaults) will be 5.
The Registry Pool Size (listener properties) of each DMI Application
listener will be 5.
- 1 DMI DAS listener.
o Each Colleague Web API instance will have a DAS Connection Pool Size of 30
for a total of 90 DAS connections. It is recommended that with this number of
additional DAS connections that a separate DMI DAS listener be used.
- Colleague licenses (UniData Licenses)
o UniData clients will need 225.
The Connection Pool Size (DMI Defaults) is 60 which is multiplied by 2 to
account for the DAS connection to UniData for a subtotal of 120.
The Web Overflow Pool Size (DMI Defaults) is 5 which is multiplied by 2
to account for the DAS connection to UniData for a subtotal of 10.
The Registry Pool Size (listener properties) is 5 and is not multiplied by 2
as they are direct UniData connections for a subtotal of 5.
The sum of the DAS Connection Pool Size from the three Colleague Web
API instances is 90 and is not multiplied by 2 as they are direct UniData
connections for a subtotal of 90
120 plus 10 plus 5 plus 90 results in a grand total of 225 UniData licenses
needed to support 1000 concurrent Colleague Self-Service users.
o SQL and Oracle clients will need 65
The Connection Pool Size (DMI Defaults) is 60.
The Web Overflow Pool Size (DMI Defaults) is 5.
The Registry Pool Size (listener properties) are direct SQL or Oracle
connections and do not impact the UniData license count.
60 plus 5 results in a grand total of 65 UniData licenses needed to
support 1000 concurrent Colleague Self-Service users.
Page 26 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Deployment diagram:
Web Browser
Colleague Self-Service
Colleague Application Server
Colleague Web API
DMI application listener
Colleague Web API
Colleague Self-Service
Colleague Web API
DMI DAS listener
Load Balancer
Load Balancer
Page 27 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Colleague Self-Service deployment planning and settings worksheet
Colleague Self-Service
1. Expected number of concurrent users.
A
2. Number of Self-Service instances needed. Divide Box A by 700, round up to the nearest whole
number.
B
Self-Service settings
3. Colleague Web API Connection Limit. Enter 400
C
400
Colleague Web API
4. Number of Web API instances needed. Divide Box A by 400, round up to the nearest whole number.
D
Web API settings
5. Connection Pool Size
Are you using DAS Data Reader (API 1.12+) Yes: enter 20 No: enter 50
E
6. DAS Connection Pool
Size
Are you using DAS Data Reader (API 1.12+) Yes: enter 30 No: enter 0
F
DMI Application Listener(s)
7. Total Application Listener Connections from Web API. Multiple Box D by Box E.
G
8. Number of DMI Application Listeners needed. Divide Box G by 100, round up to the nearest whole
number.
H
DMI Settings DMI Defaults
9. Connection Pool Size. Enter the lessor of Box G and 100.
I
10. Web Overflow Pool Size. Enter 5
J
5
DMI Settings Application Listener Properties
11. Max Concurrent Connections. Multiple Box I by 2.
K
12. Registry Pool Size. Enter 5
L
5
Colleague Application Server
UniData Licenses
13. Licenses used by the main pools. Enter Box G.
M
14. Licenses used by the overflow pools. Multiple Box H by Box J.
N
15. Licenses used by Registry pools.
UniData clients: Multiple Box H by Box L.
SQL Server or Oracle: Enter 0.
O
16. Licenses used by main and overflow pool database
connections.
UniData clients: Add Boxes M and N.
SQL Server or Oracle: Enter 0.
P
17. Licenses used by DAS Data Reader.
UniData database: Multiple Box D by Box F.
SQL Server or Oracle: Enter 0.
Q
18. Total UniData licenses needed. Add Boxes M through Q.
R
System Resources
19. CPU Cores needed. Add Boxes M, N and Q then divide by 6.
S
20. RAM needed (GB). Add Boxes M, N and Q then divide by 4.
T
DMI DAS Listener(s) - when using DAS Data Reader feature of API 1.12+
21. Total DAS Data Reader connections from Web API. Multiple Box D by Box F.
U
22. Number of DMI DAS Listeners needed. Divide Box U by 200, round up to the nearest whole number.
V
DMI Settings DAS Listener Properties
23. Max Concurrent Connections. Enter the lessor of (Box U multiplied by 2) and 400.
W
Page 28 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
This worksheet is also available as a downloadable Excel spreadsheet with built-in formulas,
Colleague Self-Service Hardware and Software Configuration Guide Worksheet.
Page 29 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Procedures reference
Configuring a Colleague Self-Service static machine key
Important: The following steps are to be done at the web site level within IIS! Configuring these
settings at the server level or application level can lead to problems as the software is
architected by Ellucian to expect the configuration at the web site level.
1. Open IIS Manager on the web server.
2. Under the Sites node, choose the Colleague Self-Service site node to view the website
configuration options.
3. Double-click the Machine Key icon.
4. On the Machine Key form, clear all four check boxes.
5. Within the Actions pane on the right side of the Machine Key form, click on the Generate
Keys link to generate unique keys for validation and decryption. The Machine Key from
should now look like this:
6. Within the Actions pane on the right side of the Machine Key form, click Apply to save
the changes.
Page 30 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
Copying a static machine key from one instance to another
When load balancing Colleague Self-Service or Colleague Web API all instances of the given
product must share the same machine key. If load balancing both Colleague Self-Service and
Colleague Web API the machine key used for the Colleague Self-Service instances should be
different from the machine key used for the Colleague Web API instances for higher security.
Use the following steps to copy the machine key from one instance to the other instances of
Colleague Self-Service or Colleague Web API.
Important: The following steps are to be done at the web site level within IIS! Configuring these
settings at the server level or application level can lead to problems as the software is
architected by Ellucian to expect the configuration at the web site level.
1. Starting with the instance that has already had its machine keys configured, open IIS
Manager on the web server.
2. Under the Sites node, choose the Colleague Self-Service or Colleague Web API site
node to view the website configuration options.
3. Double-click the Machine Key icon.
Page 31 of 31
Colleague Self-Service Hardware and Software Configuration Guide
© 2016 Ellucian. All Rights Reserved - Confidential & Proprietary
4. On the Machine Key form
a. Note the Encryption and decryption methods
b. Copy the generated Validation key and Decryption key values from the two text
fields on the form
5. For each additional instance of Colleague Self-Service or Colleague Web API
a. Open IIS Manager on the web server.
b. Double-click the Machine Key icon.
c. Set the Encryption and Decryption methods to be the same as the values noted
in step 4a.
d. Clear all 4 checkboxes.
e. Paste the Validation key and Decryption key values into the appropriate text
fields using the values captured in step 4b.
f. Click the Apply link on the far right-hand side in the Actions pane.