---
schema_version: "1"
id: 1307b719d3e2089d39dc64f34b7d52578074f05bf1d1efb7345a05f126981565
title: Domains
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/mule-runtime/4.3/tuning-domains.md
canonical_url: https://docs.mulesoft.com/mule-runtime/4.3/tuning-domains
source_site: docs.mulesoft.com
content_type: documentation
content_hash: f00f251dc920c2993003e2ea76f44eb3f52e596c2b8ccb2331448b03a14e1b4c
description: MuleSoft Documentation Site
release: "4.3"
latest: false
---
---
product: Mule Runtime
version: 4.3
---

# Domains

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Using domains greatly enhance performance when you deploy multiple services on the same on-premises
Mule runtime engine (Mule). By providing a centralized point for all the shared resources, domains
make the class-loading process (and, therefore, metaspace memory usage) more efficient, especially
because domain dependencies declared in the `pom.xml` file are also shared in the domain apps.

## Example of Increased Performance Using Domains

Imagine that you have a set of HTTP Proxy applications that also apply one API Gateway policy, such
as an IP whitelist. Each application interacts with the same backend. In a Mule instance configured
to have 2 GB of heap memory and 256 MB of metaspace, deploying those applications independently
without using a proper domain, results in a noticeable reduction in TPS (transactions per second)
when deploying 60 or more applications due to saturated resources. At 80 applications, you see
deployment issues due to out-of-memory exceptions.  
You can greatly improve this outcome by using a domain that shares the backend server configuration,
increasing the number of applications to beyond 100 while also experiencing a balanced use of
machine resources and consistent good performance.

Note that despite the clear performance advantage in using domains, each deployed application adds
its own unique complexity to the shared infrastructure resources. To avoid performance impact,
before adding an application, identify the overhead by testing each application individually and
then test it coexisting with other applications.

## See Also

- [Shared Resources](https://docs.mulesoft.com/mule-runtime/4.3/shared-resources)
