KBEC-00502 - When to add CD Webservers

Issue

What are some considerations for adding webservers to my CD/RO Environment?

Environment

CloudBees CD (CloudBees Flow)

Resolution

A typical CD/RO environment will start out with a single dedicated webserver for users to access the CD/RO UI.  
Here are some considerations for adding more webservers into your environment:

Access required from different locations

Customers who have different working locations or zones where their agents get located, may require setting up webservers unique to each of those zones.  This can be important to allow employees within those zones ensured access to workspace data from work run on agents inside those zones.

See:  https://docs.cloudbees.com/docs/cloudbees-cd/latest/architecture#_central_web_server_and_a_remote_web_server_at_each_site

Workspace results can be transferred to a central workspace via the ecremoteFileCopy tool, this would not be recommended to be used across all jobs, and instead should be used in cases where cross-zone access is considered necessary or important.  To learn more about this option, see :
https://docs.cloudbees.com/docs/cloudbees-cd/latest/automation-platform/installed-tools#_ecremotefilecopy

Increased User Logins

Improving performance by adjusting agent memory

The CD agent installed on the Webserver machine is responsible for helping to serve up the data transfer of results to the UI.  Larger page results like pipeline runs, job runs, and large log files place a heavier demand on the agent JVM memory.  As more users are logging into the webserver, such demands may require adding memory to the webserver agent. 
This may be achieved by increasing the agent wrapper.conf settings.

The following KB article outlines the default memory settings attributed to Agent installations:
KBEC-00248 - Agent Memory configuration

LoadBalanced WebServers

As more users login to your system, it may become necessary to update your architecture to add additional webservers and to place those behind a common loadbalancer.  See: https://docs.cloudbees.com/docs/cloudbees-cd/latest/architecture#_clustered_configuration

Adjusting User Behaviour

What users are doing after they login can have an impact on the performance of the underlying system.  Since user behaviour ultimately affects DB performance, some usage patterns may not be mitigated by ditributing user requests over to other webservers. 
Some considerations for change to help in this regard can be found on KBEC-00500 - CD Performance impact via configuration choices

Other ways to improve overall performance:

https://support.cloudbees.com/hc/en-us/articles/360032827852-KBEC-00306-High-Availability-and-CloudBees-CD-CloudBees-Flow-Performance

KBEC-00038 - Improving CloudBees CD (CloudBees Flow) server performance by tuning memory allocation

KBEC-00277 - Understanding Memory Usage in CloudBees CD (CloudBees Flow)

KBEC-00194 - Common CloudBees CD (CloudBees Flow) server performance response bottlenecks and remedies

Have more questions?

0 Comments

Please sign in to leave a comment.