Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Sv translation
languagefr
Remarque

Cette page n'est plus actualisée. À partir de BlueMind 4.8, veuillez consulter la nouvelle documentation BlueMind

Présentation

Les données indiquées ici le sont à titre indicatif. En effet, pour un même nombre d’utilisateurs, l’utilisation peut-être très différente selon les structures et habitudes. Le nombre de mails, leur taille, le nombre de destinataires dans les mails, le nombre de rdv, de planification... tout ceci par jour est très variable.

Volet
borderWidth3

Sur cette page :

Sommaire
maxLevel2

En rapport :

Le principe des unités

Dans un système comme BlueMind, il y a différents composants consommateurs de ressources.

Le calcul basique “par utilisateur” n’est plus valide car un utilisateur qui n’utilise que la partie messagerie ne sollicitera pas le système de la même façon qu’un utilisateur utilisant le mail et les outils collaboratifs (agenda,..), notamment avec un smartphone.

Le calcul du dimensionnement s’effectue donc par unité sachant que :

Profil d’utilisateur

Coût en unité

Messagerie seule

1

Messagerie + collaboratif intensif

2

Messagerie + collaboratif + smartphone

5

De même pour un même nombre d’unité, une utilisation uniquement messagerie n’aura pas la même consommation de ressources qu’une utilisation messagerie + collaboratif (pour la moitié d’utilisateurs). Le mail étant par exemple plus dépendant des IO que du CPU, ce qui est inverse en général des outils collaboratifs.

CPU

Nous parlons en nombre de cœurs. La référence est un CPU serveur récent, de type Xeon.

BlueMind comprend de nombreux services, nous préconisons donc 2 cœurs minimum.

A noter qu'allouer trop de CPU peut mener à d'autres problèmes sur des environnements virtualisés (https://techan.fr/problemes-de-performance-sur-vmware-du-a-du-cpu-ready.html)

Unitésnombre de cœurs
1-2002
200-10004
1000-20006
2000-30008
3000-600012
6000+2 cœurs / 1000 unités

RAM

UnitésRam
1-25016 Go
250-100024 Go
1000-250032 Go
2500 - 500048 Go
5000-1000064 Go*
10000+96 Go*

*avec déport du service Cyrus et bm-elasticsearch sur des serveurs dédiés

Stockage / IO


Info
titleDisques et performance

Un messagerie sollicite beaucoup les disques, pour la lecture et l'écriture de petits fichiers, mais aussi pour tous les traitements sur les messages (indexation, état de lecture, etc...). La qualité des disques et leur rapidité est une donnée clé d'une messagerie performante.

Info

IOPS = «In/Out per second», soit «Entrée/Sorties par seconde»

Performances minimales des disques

Le stockage est dimensionné en IOPS, un service de messagerie étant un gros consommateur d’IO. L’espace de stockage est lui directement dépendant de la demande du client (quotas,..)

Selon l'usage final, tous les disques n'ont pas nécessairement besoin d'avoir le même niveau de performance. Voici les IOPS minimum pour toute installation :

point de montagedescriptiontype

IOPS

minimum

NFSblock device
/var/lib/postgresqlBase de données PostgreSQL(erreur)(coche)10 000 iops
/var/spool/cyrus/metameta données des e-mail(erreur)(coche)10 000 iops
/var/spool/cyrus/dataemails(erreur)(coche)6 000 iops
/var/spool/bm-hsmemails archivés(coche)(coche)6 000 iops
/var/spool/bm-elasticsearchindex de recherche(erreur)(coche)10 000 iops
/var/spool/bm-mailenvoi des emails via EAS/mapi
~2Go
(coche)(coche)6 000 iops
/var/loglogs (fichiers journaux)(coche)(coche)6 000 iops
/var/backups/bluemindsauvegardes(coche)(coche)6 000 iops

Pour les installations supérieures à 2000 utilisateurs, les iops attendus peuvent être calculés selon le nombre d'utilisateurs et l'usage :


Unités

IOPS par unité

1

1

Données sur les IOPS des moyens de stockage (wikipedia)

Device  

Type  

IOPS  

Interface  

Notes  

7,200 rpm   SATA drives

HDD  

~75-100 IOPS [2]  

SATA 3 Gb/s  


 

10,000 rpm SATA drives

HDD

~125-150 IOPS [2]  

SATA 3 Gbit/s


 

10,000 rpm SAS drives

HDD

~140 IOPS [2]  

SAS


 

15,000 rpm SAS drives

HDD

~175-210 IOPS [2]  

SAS


Vérification de la performance de vos disques

Info
titleAttention

Effectuez ces tests en respectant bien les consignes. Il est possible de détruire des données ou impacter les performances du serveur si les opérations ne sont pas réalisées avec précaution.

Vous pouvez vérifier la performance de vos disques en utilisant la procédure de test suivante :

[Système] Commandes (à déplacer dans Troubleshooting de la v4 ?)

Exemples

La répartition des cœurs / ram sur plusieurs serveurs (virtuels ou non) n’est pas décrite ici.

Cependant jusqu’à 16/24 cœurs, nous considérons pertinent d’installer l’ensemble sur une même plateforme.

Au dela de ceci, et pour gérer les populations en dizaine ou plus de milliers d’utilisateurs, l’architecture doit être distribuée.

Ensuite, la partie messagerie doit être séparée, ainsi que la base de données (très sollicitée par le collaboratif / smartphones).

Users / unités

Noeud

CPU

#cœurs

RAM

en Go

IOPS / Disque

25 utilisateurs / 5 avec smartphones

45 unités (20 + 25)


2

16

13,5 / tout disque

150 utilisateurs / 50 collaboratifs dont 25 avec smartphones

225 unités (100+25*2+25*5)


4

16

67,5

SATA 7200 minimum

300 utilisateurs / 100 collaboratifs / 30 smartphones

490 unités (200 + 70*2 + 30*5)


4

24

147

2 * 10K rpm SAS

1 * 15K rpm SAS

600 utilisateurs / 200 collaboratifs / 50 smartphones

950 unités (400 + 150*2 * 50*5) → 4 CPU, 24 Go de RAM

Core

2

20

285

SSD, Baie ou autre système

Edge24

1000 util. / 250 collaboratifs / 100 smartphones

1300 unités (750 + 150 * 2 + 100 * 5) → 6 CPU, 32 Go de RAM

Core

2

20

390

SSD, Baie ou autre système

BM-ES28ES dédié à partir d'1To de mails et archives
Edge24

2000 util. / 500 collaboratifs / 200 smartphones

3100 unités (1500 + 300*2 + 200 * 5) → 12 CPU, 48Go de RAM

Core

6

20

930

Baie (2000 IOPS)

BM-ES212ES dédié à partir d'1To de mails et archives

Cyrus

212Cyrus dédié à partir de 2 To de mails et archives
Edge24

4000 util. / 1000 collaboratifs / 300 smartphones

5900 unités (3000 + 700*2 + 300*5) → 12 CPU, 64Go de RAM

Core

6

36

1770

Baie (2-3000 IOPS)

BM-ES212ES dédié à partir d'1To de mails et archives

Cyrus

212Cyrus dédié à partir de 2 To de mails et archives
Edge24

4000 util. / 1000 collaboratifs / 1000 smartphones

8000 unités (3000 + 1000*5) → 16 CPU, 64Go de RAM

Core

6

36

2400

BAIE 3000 IOPS

SAN / autre techno

BM-ES412ES dédié à partir d'1To de mails et archives

Cyrus

412Cyrus dédié à partir de 2 To de mails et archives
Edge24

4000 util. / 4000 collaboratifs / 1000 smartphones

11000 unités (3000*2 + 1000*5) → 22 CPU, 96Go de RAM

Core

10

44

3300

SAN / autre techno

BM-ES424ES dédié à partir d'1To de mails et archives

Cyrus

624

Cyrus dédié à partir de 2 To de mails et archives

2e noeud Cyrus à envisager

Edge24

5000 utilisateurs et + (10 000, 100 000,..)

Le système doit être distribué et l’architecture étudiée en fonction du contexte particulier.





Bande passante

La bande passante nécessaire n’est pas prévisible car elle dépend en très grande partie du trafic mail.

A titre d’informations ci-dessous les informations sur la consommation bande passante de l’agenda BlueMind et des smartphones, qui montre bien la prédominance du trafic mail.

Bande passante Agenda BlueMind

Pour un utilisateur avec l'application d'agenda ouverte dans son navigateur, en http et en octets (mesuré sur le réseau avec wireshark) :

  • toutes les 30 sec: un "doSync" 1067 / 293 (envoie des modifs locales et récupération des changements)
  • toutes les 5 sec: un "ping": 898 / 233, soit 5388 / 1398 en 30 s(un "keep alive")

Client vers serveur: 215 octets/sec (1067+5388)/30

Server vers client: 56 octets/sec (293+1398)/30

# utilisateurs actifs

client vers serveur

serveur vers client

1

215 octets/s

56 octets/s

100

21 ko/s

6 ko/s

1 000

210 ko/s

60 ko/s

10 000

2,1 Mo/s

600 ko/s

Avec de la marge, pour 1000 agendas ouverts dans les navigateurs :

  • Client vers serveur: 500ko/sec.
  • Serveur vers client: 150ko/sec.

Bande passante de la gestion des contacts

Pour un utilisateur avec l'application de gestion des contacts ouverte dans son navigateur, en http et en octets :

144 octets / seconde

Avec en particulier :

  • toutes les 5 secondes un "ping"
  • toutes les 30 secondes un "bmc"

En prenant une marge de sécurité en doublant la valeur mesurée, nous obtenons une bande passant de 288 octets par seconde pour un utilisateur ayant lancé l'application de gestion de contacts.

Bande passante smartphones

Les ratios ActiveSync sont  fournis par microsoft : 1.04kb /sec/user

soit pour 100 smartphones : 104Kb, donc 13Ko/sec

Pour lequel nous prendrons une marge raisonnable de x2, ce qui donne :

100 smartphones == 26 Ko/sec

1 000 smartphones == 260 Ko/sec

IOPS

minimum
Sv translation
languageen
Remarque

This page is no longer being updated. From BlueMind 4.8, please refer to the new BlueMind documentation

Introduction

The data in this page is provided for information purposes only. Usage may vary for a same number of users, depending on hardware structure and use habits. Many factors can affect usage: email volume, email size, number of recipients, number of events, event scheduling, etc.

Volet
borderWidth3

On this page:

Sommaire
maxLevel2

Related:

About units

Several BlueMind components use up resources. A typical standard "per user" calculation cannot be applied because a user who only uses messaging email will not generate the same system load for the system as a user using messaging email and collaborative services (Calendar, etc.) and a smartphone.

As a result, sizing is calculated on a "per unit" , on the following basis:

User profile

Units

Messaging Email only

1

Messaging Email + intense collaborative use

2

Messaging Email + collaborative services + smartphone

5

Also, for a same amount of units, a use of messaging only won't email only will not consume the same amount of resources as a messagingan email+collaborative use: unlike collaborative tools, messagingemail, for example, is more heavily dependent on IO than on CPU.

CPU

CPU is stated in number of cores. Reference values are based on recent Xeon-type CPU.

BlueMind has several services, as a result we recommend a minimum of 2 cores.

Please note that too much CPU can lead to other issues on virtualized environments (https://techan.fr/problemes-de-performance-sur-vmware-du-a-du-cpu-ready.html)

Units

Number of core(s)

1-200

2

200-1000

4

1000-20006
2000-30008
3000-600012

6000+

2 / 1000 units

RAM

Units

RAM

1-25016 GB
250-100024 GB
1000-250032GB
2500-500048GB
5000-10,00064GB*
10,000+96GB*

*With the Cyrus service and bm-elasticsearch on dedicated servers 

Storage / IO Performance

Info
titleDisques et performanceDisks and performance

Email is highly demanding on disks for file reading and writing as well as email processing (indexing, read status, etc.). Disk quality and speed are key to the performance of email servicesUn messagerie sollicite beaucoup les disques, pour la lecture et l'écriture de petits fichiers, mais aussi pour tous les traitements sur les messages (indexation, état de lecture, etc...). La qualité des disques et leur rapidité est une donnée clé d'une messagerie performante.

Info

IOPS = "Input/Output Operations Per Second"

The messaging email service is a heavy user of IO, as a result storage is sized in IOPS . As for storage space, it depends on client requirements (quotas, etc.)

Performances minimales des disques

Le stockage est dimensionné en IOPS, un service de messagerie étant un gros consommateur d’IO. L’espace de stockage est lui directement dépendant de la demande du client (quotas,..)

Selon l'usage final, tous les disques n'ont pas nécessairement besoin d'avoir le même niveau de performance. Voici les IOPS minimum pour toute installation :

Minimum disk performance 

The email service being IO hungry, storage is sized in IOPS. The storage space itself directly depends on client requirements (quotas etc.).

Depending on the final usage, all the disks do not require the same performance levels. Below are the minimum IOPS for any installation:

Mount PointDescriptionType

Minimum

IOPS

point de montagedescriptiontype

NFSblock device
/var/lib/postgresql
Base de données
PostgreSQL database(erreur)(coche)10,000 iops
/var/spool/cyrus/meta
meta données des e-mail
email metadata(erreur)(coche)10,000 iops
/var/spool/cyrus/dataemails(erreur)(coche)6,000 iops
/var/spool/bm-hsm
emails archivés
archived emails (coche)(coche)6,000 iops
/var/spool/bm-elasticsearch
index de recherche
search index (erreur)(coche)10,000 iops
/var/spool/bm-mail
envoi des emails via
EAS/mapi Email Service
~2Go
(coche)(coche)6,000 iops
/var/log
logs (fichiers journaux)
logs (coche)(coche)6,000 iops
/var/backups/bluemindsauvegardes(coche)(coche)6,000 iops

Pour les installations supérieures à 2000 utilisateurs, les iops attendus peuvent être calculés selon le nombre d'utilisateurs et l'usage :

For installations with more than 2,000 users, expected iops can be calculated based on the number of users and usage:


Units

IOPS per Unit

Unités

IOPS par unité

1

1


IOPS data for storage devices (wikipedia)


Device  

Type  

IOPS  

Interface  

Notes  

7,200 rpm   SATA drives

HDD

~75-100 IOPS [2]

SATA 3 Gb/s


 

10,000 rpm SATA drives

HDD

~125-150 IOPS [2]  

SATA 3 Gbit/s


 

10,000 rpm SAS drives

HDD

~140 IOPS [2]

SAS


 

15,000 rpm SAS drives

HDD

~175-210 IOPS [2]

SAS



Source: http://en.wikipedia.org/wiki/IOPS

Examples

Core/RAM distribution over several servers (virtual or otherwise) is not described here.

However, for up to 16/24 cores, we believe that a single-platform installation makes sense.

Above this threshold, and to manage populations of tens of thousands of users or more, the architecture must be distributed.

Also, the messaging email part as well as the database (which collaborative use/smartphone places heavy demands on) must be kept separate from the rest.

Users / Units

Node

CPU

#cores

RAM

IOPS / Disk

25 users / 5 with smartphones

45 units (20 + 25)


2

16

13.5 / all disks

150 users / 50 collaborative users of which 25 with smartphones

225 units (100+25*2+25*5)


4

16

67.5

SATA 7,200 minimum

300 users / 100 collaborative users / 30 smartphones

490 units (200 + 70*2 + 30*5)


4

24

147

2 * 10K rpm SAS

1 * 15K rpm SAS

600 users / 200 collaborative users / 50 smartphones

950 units (400 + 150*2 * 50*5) → 4 CPU, 24 GB of RAM

Core

2

20

285

SSD, Bay or other system

Edge24

1,000 users / 250 collaborative users / 100 Psmartphones

1,300 units (750 + 150 * 2 + 100 * 5) → 6 CPU, 32 GB of RAM

Core

2

20

390

SSD, Bay or other system

BM-ES28dedicated ES for more than 1TB of emails and archives
Edge24

2,000 users / 500 collaborative users / 200 smartphones

3,100 units (1500 + 300*2 + 200 * 5) → 12 CPU, 48GB of RAM

Core

6

20

930

Bay (2,000 IOPS)

BM-ES212dedicated ES from 1TB of emails and archives
Cyrus212dedicated Cyrus from 2TB of emails and archives
Edge24

4,000 users / 1000 collaborative users / 300 smartphones

5,900 units (3000 + 700*2 + 300*5) → 12 CPU, 64GB of RAM

Core

6

36

1,770

Bay (2-3,000 IOPS)

BM-ES212dedicated ES from 1TB of emails and archives
Cyrus212dedicated Cyrus from 2TB of emails and archives
Edge24

4,000 users / 1000 collaborative users / 1000 smartphones

8,000 units (3000 + 1000*5) → 16 CPU, 64GB of RAM

Core

6

36

2,400

Bay 3,000 IOPS

SAN / other technology

BM-ES412dedicated ES from 1TB of emails and archives
Cyrus412dedicated Cyrus from 2TB of emails and archives
Edge24

4,000 users / 4,000 collaborative users / 1000 smartphones

1,1000 units (3,000*2 + 1,000*5) → 22 CPU, 96GB of RAM

Core

10

44

3,300

SAN / other technology

BM-ES424dedicated ES from 1TB of emails and archives
Cyrus424

dedicated Cyrus from 2TB of emails and archives

consider 2 cyrus nodes

Edge24

5,000+ users (10,000; 100,000; etc.)

The system must be distributed and the architecture designed on an ad-hoc basis.





Bandwidth

Bandwidth requirements cannot be predicted as they largely depend on mail traffic. Please note that the data on bandwidth usage of the BlueMind calendar and smartphones below clearly shows the preponderance of mail traffic.

BlueMind Calendar bandwidth

For a user with the Calendar application open in their web browser, in http and in bytes (measured on the network with Wireshark):

  • every 30 seconds: one doSync 1067 / 293 (sends local modifications and retrieves changes)
  • every 5 seconds: one ping: 898 / 233, i.e. 5388 / 1398 in 30s (one keepalive)

Client to server: 215 bytes/sec (1,067+5,388)/30

Server to client: 56 bytes/sec (293+1,398)/30

Number of active users

Client to Server

Server to Client

1

215 B/s

56 B/s

100

21 KB/s

6 KB/s

1,000

210 KB/s

60 KB/s

10,000

2.1 MB/s

600 KB/s

With room for maneuvermaneuvre, for 1,000 Calendars running in web browsers:

  • Client to server: 500KB/s
  • Server to client: 150KB/s

Contacts bandwidth

For a user with the Contacts application running in their browser, in http and in bytes:

144 bytes/second

Specifically:

  • a ping every 5 seconds
  • a "bmc" every 30 seconds

By doubling the value measured to ensure a comfortable safety margin, we calculate a bandwidth of 288 bytes per second for a user who has launched the Contacts application.

Smartphone bandwidth

Microsoft provides the following ActiveSync ratios: 1.04KB/s/user

i.e. for 100 smartphones: 104Kbit, or 13KB/s

By taking a sensible safety margin of x2, we calculate:

  • 100 smartphones == 26KB/s
  • 1,000 smartphones == 260KB/s