Cette documentation a été traduite automatiquement par IA.
Comment déployer plus rapidement
De nombreux utilisateurs constatent que NocoBase s'exécute plus lentement que prévu après le déploiement. Cela est généralement dû à l'environnement réseau, à la configuration du serveur ou à l'architecture de déploiement. Avant d'aborder les techniques d'optimisation, examinons d'abord les valeurs de référence pour des vitesses de chargement normales de NocoBase, afin d'éviter toute inquiétude inutile.
Valeurs de référence pour la vitesse de chargement normale de NocoBase
Voici les vitesses de chargement mesurées dans l'environnement de démonstration de NocoBase :
- Temps nécessaire pour accéder à l'application pour la première fois en saisissant l'URL : environ 2 secondes
- Temps nécessaire pour changer de page au sein de l'application : environ 50 à 300 millisecondes
Voyons maintenant une série de techniques d'optimisation de déploiement simples mais efficaces qui permettent d'améliorer considérablement la vitesse d'accès en ajustant uniquement les paramètres de déploiement, sans modifier le moindre code :
I. Optimisation du réseau et de l'infrastructure
1. Version du protocole HTTP : adopter facilement HTTP/2
【Prérequis】
- Support HTTPS requis : c'est essentiel ! Presque tous les navigateurs modernes ne prennent en charge HTTP/2 que sur des connexions HTTPS, vous devez donc configurer les certificats SSL au préalable.
- Exigences serveur : vous devez utiliser un logiciel serveur qui prend en charge HTTP/2, comme Nginx 1.9.5+ ou Apache 2.4.17+.
- Version TLS : TLS 1.2 ou supérieur est recommandé (TLS 1.3 étant le meilleur choix), car les anciennes versions de SSL ne prennent pas en charge HTTP/2.
【Astuces】
Le protocole HTTP/1.1 traditionnel a des limites lorsqu'il s'agit de gérer plusieurs requêtes : généralement seulement 6 à 8 connexions simultanées, ce qui revient à faire la queue pour acheter des tickets et provoque facilement des retards.

HTTP/2 utilise la technologie de « multiplexage » pour traiter plusieurs requêtes simultanément, ce qui accélère grandement le chargement des ressources ; et le plus récent HTTP/3 offre des performances encore meilleures dans les réseaux instables, avec d'excellents résultats.

【Suggestions d'optimisation】
- Assurez-vous que votre serveur web a bien activé le support de HTTP/2, ce qui est facile à configurer sur la plupart des serveurs (comme Nginx ou Caddy).
- Dans Nginx, il suffit d'ajouter le paramètre
http2après la directive listen :
【Vérification】
Dans le panneau développeur de votre navigateur, ouvrez l'onglet « Network », cliquez avec le bouton droit et cochez « Protocol » pour voir la version actuelle du protocole de connexion :

D'après nos tests, la vitesse globale s'améliore d'environ 10 %, avec des gains de performance plus marqués lorsque le système comporte de nombreux blocs et ressources.
2. Bande passante réseau : plus c'est large, mieux c'est, avec une facturation flexible
【Astuces】
Tout comme les autoroutes sont plus fluides que les routes secondaires, la bande passante détermine l'efficacité de la transmission des données. Lorsque NocoBase se charge pour la première fois, il doit télécharger de nombreuses ressources front-end, et une bande passante insuffisante devient facilement un goulot d'étranglement.
【Suggestions d'optimisation】
- Choisissez une bande passante suffisante (50 Mbps+ recommandé pour de nombreux utilisateurs), ne lésinez pas sur cette ressource essentielle.
- Privilégiez la facturation « à l'usage » : de nombreux fournisseurs cloud proposent ce modèle flexible, vous permettant de bénéficier d'une bande passante plus élevée pendant les pics tout en maîtrisant les coûts en utilisation normale.
3. Latence réseau et emplacement géographique du serveur : plus c'est proche, plus c'est rapide
【Astuces】
La latence est le temps d'attente pour la transmission des données. Même avec une bande passante suffisante, si le serveur est trop éloigné des utilisateurs (par exemple, des utilisateurs en Chine avec un serveur aux États-Unis), chaque échange requête-réponse peut être ralenti par la distance.
【Suggestions d'optimisation】
- Essayez de déployer NocoBase dans des régions proches de votre principale base d'utilisateurs.
- Si vos utilisateurs sont répartis dans le monde, envisagez d'utiliser des services d'accélération globale (comme Alibaba Cloud Global Accelerator ou AWS Global Accelerator) pour optimiser le routage réseau et réduire la latence.
【Vérification】
Utilisez la commande ping pour tester la latence depuis différentes régions.
Cette approche montre l'amélioration la plus évidente, avec une vitesse d'accès multipliée par 1 à 3 fois, voire plus, selon la région.
À travers 12 fuseaux horaires, 13 secondes :

À travers 2 fuseaux horaires, 8 secondes :

Dans la même région, environ 3 secondes :

II. Optimisation de l'architecture de déploiement
4. Déploiement du serveur et méthodes de proxy : choisir l'architecture la plus adaptée
【Prérequis】
- Permissions serveur : vous avez besoin d'un accès root ou sudo pour configurer des services comme Nginx.
- Compétences de base : une connaissance de base de la configuration serveur est requise, mais ne vous inquiétez pas, des exemples de configuration concrets seront fournis.
- Accès aux ports : assurez-vous que votre pare-feu autorise l'accès aux ports 80 (HTTP) et 443 (HTTPS).
【Astuces】
Lorsque les utilisateurs accèdent à NocoBase, les requêtes vont directement à votre serveur. Une méthode de déploiement appropriée permet à votre serveur de traiter les requêtes plus efficacement, offrant des réponses plus rapides.
【Différentes solutions et recommandations】
Démarrer NocoBase sans utiliser de proxy inverse pour les ressources statiques (non recommandé) :
- Inconvénients : cette méthode est simple mais peu performante pour gérer la haute concurrence ou les fichiers statiques ; elle ne convient qu'au développement et aux tests.
- Recommandation : évitez cette méthode autant que possible.
Voir « Documentation d'installation »
Sans proxy inverse, le chargement de la page d'accueil prend environ 6,1 secondes

Utiliser Nginx / Caddy comme proxy inverse (fortement recommandé) :
- Avantages : les serveurs proxy inverses peuvent gérer efficacement les connexions concurrentes, servir des fichiers statiques, mettre en œuvre la répartition de charge et faciliter la configuration de HTTP/2.
- Recommandation : en environnement de production, après le déploiement de l'application (déploiement par code source / create-nocobase-app / image Docker), utilisez Nginx ou Caddy comme proxy inverse.
Voir « Documentation de déploiement »
Avec un proxy Nginx, le chargement de la page d'accueil prend environ 3 à 4 secondes


Utiliser un déploiement en cluster avec répartition de charge (adapté aux scénarios de haute concurrence et de haute disponibilité) :
- Avantages : en déployant plusieurs instances pour traiter les requêtes, vous pouvez améliorer considérablement la stabilité globale du système et sa capacité de traitement concurrent.
- Pour les méthodes de déploiement spécifiques, voir Mode Cluster
5. Utiliser un CDN pour accélérer les ressources statiques
【Prérequis】
- Exigences de domaine : vous devez disposer d'un nom de domaine enregistré et pouvoir gérer ses paramètres DNS.
- Certificat SSL : la plupart des services CDN nécessitent la configuration d'un certificat SSL (vous pouvez utiliser des certificats Let's Encrypt gratuits).
- Choix du service : choisissez un fournisseur CDN approprié en fonction des régions des utilisateurs (les utilisateurs en Chine continentale ont besoin d'un CDN avec enregistrement ICP).
【Astuces】 Un CDN (Content Delivery Network) met en cache vos ressources statiques sur des nœuds répartis dans le monde entier, permettant aux utilisateurs d'obtenir les ressources depuis le nœud le plus proche, comme aller chercher de l'eau à la source la plus proche, ce qui réduit considérablement les délais de chargement.
De plus, le plus grand avantage des CDN est leur capacité à réduire considérablement la charge et la pression sur la bande passante de votre serveur d'application. Lorsque de nombreux utilisateurs accèdent simultanément à NocoBase sans CDN, toutes les requêtes de ressources statiques (JavaScript, CSS, images, etc.) frappent directement votre serveur, ce qui peut entraîner une saturation de la bande passante, une dégradation des performances, voire un plantage du serveur. En déchargeant ces requêtes vers un CDN, votre serveur peut se concentrer sur le traitement de la logique métier principale, offrant aux utilisateurs une expérience plus stable.

【Suggestions d'optimisation】• Configurez votre serveur pour distribuer les requêtes de ressources statiques via un CDN.• Choisissez un fournisseur CDN adapté à la localisation des utilisateurs :
- Utilisateurs mondiaux : Cloudflare, Akamai, AWS CloudFront ;
- Utilisateurs en Chine continentale : Alibaba Cloud CDN, Tencent Cloud CDN, Baidu Cloud Acceleration. Exemple de configuration :
- Pour les petits projets, le plan gratuit de Cloudflare offre une bonne accélération CDN :
- Créez un compte Cloudflare et ajoutez votre domaine ;
- Modifiez les DNS pour pointer votre domaine vers les serveurs Cloudflare ;
- Configurez les niveaux de cache appropriés dans le panneau de contrôle.
Note spéciale : même si tous vos utilisateurs sont dans la même région, il est fortement recommandé d'utiliser un CDN, car il réduit efficacement la charge du serveur et améliore la stabilité globale du système, particulièrement pendant les périodes de forte affluence.

