Skip to content

Commit 8321120

Browse files
committed
loadbalancing
1 parent 311e2be commit 8321120

File tree

2 files changed

+44
-29
lines changed

2 files changed

+44
-29
lines changed
Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,30 @@
1-
# **Infrastructure sizing**
1+
# Infrastructure sizing
22

3-
To determine the optimal infrastructure sizing the most important metric is the number of page views you will need to process. Also peak load is an important factor.
3+
To determine the optimal infrastructure sizing the most important metric is the number of page views you need to process. Peak load is also an important factor.
44

5-
uMarketingSuite recommends the following (database) infrastructure sizes when using the following environments.
5+
The following presents recommendations based on environment as well as the number of expected page views.
66

7-
**Non-cloud**
7+
## Non-cloud
88

99
- **100.000 page views per month or less:** Database: CPU 2, 4-8 GB RAM, 50GB disk
1010
- **500.000 page views per month or less:** Database: CPU 4, 8-16 GB RAM, 100GB SSD disk
1111
- **1.000.000 page views per month or less:** Database: CPU 8, 16-32 GB RAM, 250GB SSD disk
1212
- **1.000.000 page views per month or more:** Please [contact our Expert Services](mailto:[email protected]) team to discuss the infrastructure requirements.
1313

14-
**Cloud environments (Microsoft Azure, Amazon AWS)**
14+
## Cloud environments
1515

16-
Because of the rapidly changing naming and sizing of Azure and AWS instances we recommend to use the appropriate supplier tools to determine the exact sizing based on the above non-cloud recommendations.
17-
In general for Azure SQL use at least a S3 instance for production purposes.
16+
Due to the rapidly changing naming and sizing of Azure instances we recommend using the appropriate supplier tools to determine the exact sizing. Base the exact sizing on the non-cloud recommendations above.
1817

19-
**Umbraco Cloud**
18+
In general, for Azure SQL use at least a S3 instance for production purposes.
19+
20+
## Umbraco Cloud
2021

2122
- **100.000 page views per month or less:** Standard / Professional
2223
- **500.000 page views per month or less:** Professional
2324
- **500.000 page views per month or more:** Professional / Enterprise
2425

25-
Always discuss the exact requirements with your agency and/or the Umbraco Cloud team and if needed discuss Prioritized Cloud Computing, Prioritized Database Performance and/or Dedicated Resources based on the expected load.
26+
Always discuss the exact requirements with your agency or the Umbraco Cloud team. If needed discuss Prioritized Cloud Computing, Prioritized Database Performance and Dedicated Resources based on the expected load.
2627

27-
*Note: above you will find general recommendations which infrastructure parameters to use. While these should work well for most cases, you may need to adjust the infrastructure parameters to suit your page view processing workload. Very large or heavily trafficked websites may have significantly higher requirements. If you expect high page view peaks it is recommended to scale to a tier higher then normally.*
28+
{% hint style="info" %}
29+
Above you will find general recommendations on which infrastructure parameters to use. While these should work well for most cases, you may need to adjust the infrastructure parameters to suit your page view processing workload. Large or heavily trafficked websites may have higher requirements. If you expect high page view peaks it is recommended to scale to a tier higher then normally.
30+
{% endhint %}
Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,50 @@
1+
---
2+
description: Recommendations for using uMS within a load-balanced setup.
3+
---
4+
15
# Load balancing and CM/CD Environments
26

3-
## **Umbraco setup**
7+
## Umbraco setup
8+
9+
Make sure your Umbraco is setup according to best-practices. Please refer to the [Umbraco documentation](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/server-setup/load-balancing) for more details.
10+
11+
## Cockpit
12+
13+
For the Cockpit to function properly it is necessary that the cockpit can read the Umbraco login cookie. Umbraco and the site should run on the same domain or sub-domain.
414

5-
Make sure your Umbraco is setup according to the Umbraco best-practices. Please refer to the [Umbraco documentation](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/server-setup/load-balancing).
15+
For example:
616

7-
## **Cockpit**
17+
**Umbraco:** `umbraco.domain.com`
18+
**Site:** `domain.com`
819

9-
**Configuring the AuthCookieDomain cookie**For the cockpit to function properly it is necessary that the cockpit can read the Umbraco login cookie or else the cockpit won't be visible. **Umbraco and the site should run on the same domain / sub-domain**. For example:
20+
Make sure the AuthCookieDomain in your SecuritySettings of your Umbraco config has the following value:
1021

11-
**Umbraco:** umbraco.domain.com
12-
**Site:** domain.com
22+
```json
23+
"AuthCookieDomain": ".domain.com",
24+
```
1325

14-
Make sure the AuthCookieDomain in your SecuritySettings of your Umbraco config is set to
26+
To learn more, read the documentation about the [SecuritySettings](https://docs.umbraco.com/umbraco-cms/reference/configuration/securitysettings)
1527

16-
"AuthCookieDomain": ".domain.com",
28+
## Machine key and Data Protection
1729

18-
Also see: [https://docs.umbraco.com/umbraco-cms/reference/configuration/securitysettings](https://docs.umbraco.com/umbraco-cms/reference/configuration/securitysettings)
30+
You need to configure machine keys and data protection to **use the same keys on all servers** (content delivery and content-management).
1931

20-
**Machine key / Data Protection**
32+
Without this setup, each server will generate its own key. This will results in the Umbraco authentication cookie being encrypted and decrypted using different keys leaving the Cockpit unusable on the frontend servers.
2133

22-
You need to configure machine keys / data protection to **use the same keys on all servers** (content delivery and content-management). Without this setup, each server will generate its own key, resulting in that the Umbraco authentication cookie is encrypted and decrypted using different keys and the uMarketingSuite cockpit will not be shown on the front-end servers.
34+
To learn more, read the [Load Balancing article](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/server-setup/load-balancing) in the Umbraco CMS documentation.
2335

24-
Also see the Data Protection section at: [https://docs.umbraco.com/umbraco-cms/fundamentals/setup/server-setup/load-balancing](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/server-setup/load-balancing)
36+
## Bot detection (ping)
2537

26-
## **Bot detection (ping)**
38+
uMS will perform a ping (POST) to detect if the [visitor is a visitor or a bot](/analytics/types-of-clients/). The `umbraco/umarketingsuite/pagedata/ping` URL should be accessible from the content delivery and front-end servers. Make sure no firewall or other mechanism is blocking POST requests to `umbraco/umarketingsuite/pagedata/ping`. If this URL is blocked, all visitors will be treated like a bot and no analytics data is collected.
2739

28-
uMarketingSuite will perform a ping (POST) to detect if the [visitor is a visitor or a bot](/analytics/types-of-clients/). The url umbraco/umarketingsuite/pagedata/ping should be accessible from the content delivery / front-end servers so make sure no firewall or other mechanism is blocking POST requests to **umbraco/umarketingsuite/pagedata/ping** or else all visitors will be treated like a bot and no analytics data is collected.
40+
## Configuration
2941

30-
## **Configuration**
42+
Make sure the `IsProcessingServer` is set to `true` on the content management (Umbraco) environment and to `false` on the content delivery or front-end servers.
3143

32-
Make sure the **IsProcessingServer** is set to **True** on the content management (Umbraco) server/environment and to **False** on the content delivery / front-end servers in your **uMarketingSuite.config** ([uMarktingSuite v1.x](/installing-umarketingsuite/configuration-options-1-x/)) or **AppSettings.json** ([uMarketingSuite v2.x](/installing-umarketingsuite/configuration-options-2-x/)) file.
44+
The setting can be found in your `uMarketingSuite.config` ([uMarktingSuite v1.x](/installing-umarketingsuite/configuration-options-1-x/)) or `AppSettings.json` ([uMarketingSuite v2.x](/installing-umarketingsuite/configuration-options-2-x/)) file.
3345

34-
## **Sticky sessions**
46+
## Sticky sessions
3547

36-
Sticky sessions, also known as session affinity, are essential for the proper functioning of uMarketingSuite in a load-balanced environment. Sticky sessions can be enabled using various methods such as cookie-based, IP-based, or URL-based session affinity, depending on the load balancer configuration. By enabling sticky sessions, you can ensure that user sessions remain intact and data consistency is maintained across the uMarketingSuite application so analytics, a/b testing and personalization can work properly.
48+
Sticky sessions, also known as session affinity, are essential for the proper functioning of uMS in a load-balanced environment. Sticky sessions can be enabled using different methods such as cookie-based, IP-based, or URL-based session affinity, depending on the load balancer configuration. By enabling sticky sessions, you can ensure that user sessions remain intact and data consistency is maintained across the uMarketingSuite application. Sticky sessions will ensure that analytics, A/B testing and personalization works properly.
3749

38-
Please refer to the documentation or configuration settings of your load balancer for specific instructions on enabling sticky sessions.
50+
Please refer to the documentation or configuration settings of your load balancer for specific instructions on enabling sticky sessions.

0 commit comments

Comments
 (0)