Mon site Web www.example.com (SSL activé) est hébergé sur l'hébergement partagé Amazon EC2. Il se charge plus rapidement (temps de chargement <2 secondes) sur une connexion wifi / haut débit. Le problème est sur le réseau 3G dans le mobile ** (mode H et non mode H +) **. Initier une phase de connexion et le processus de prise de contact SSL prend beaucoup de temps - 12 secondes. Surveillé les paramètres de synchronisation via l'onglet Réseau Chrome. Vous trouverez ci-dessous le calendrier de chargement mesuré pour la page Web.
Type de données traitées sur la page: la page Web testée reçoit 5 données JSON appariées par valeur-clé via AJAX et les affiche sur la page Web. C'est une page très légère avec seulement 5-6 contenus textuels.
J'ai vu de nombreux sites Web se charger plus rapidement sur un réseau mobile 3G (mode H). Mon site Web est trop lent pendant la phase d'établissement de la connexion initiale sur un réseau 3G. Quelqu'un peut-il m'aider à résoudre / optimiser le retard dans la phase de connexion initiale? Le passage à un hébergement dédié résoudra-t-il le problème actuel?
Le serveur Web n'est pas occupé et il y a toujours beaucoup de CPU ET de mémoire disponible.
Configuration du serveur: Instance Amazon EC2 - Hébergement partagé (32 CPU et 60 Go de RAM). Serveur Web - Apache. SSL - Symantec.
la source
Réponses:
Connexion initiale
Vous constaterez que la connexion initiale comprend la négociation du SSL, donc comme la poignée de main est élevée, c'est un bon indicateur que quelque chose ne va vraiment pas dans la façon dont vous avez configuré le SSL.
Prise de contact SSL et TTFB
Vous avez deux problèmes majeurs, le temps passé à terminer une négociation SSL et les serveurs en attente de TTFB (temps jusqu'au premier octet).
Il convient également de noter que lorsque vous testez avec des appareils 3G / 4G, cela peut entraîner des premiers octets plus longs en raison du fait que les signaux téléphoniques varient en intensité ... cela peut entraîner des problèmes de connexion intermittents et des temps de latence variables.
Étape 1: enquête sur le problème SSL
Il est assez évident que vous avez un problème SSL grave et probablement dû à une installation défectueuse d'OpenSSL ou similaire. Commencez par tester votre certificat SSL à l'aide de SSL Labs , puis corrigez les problèmes ou avertissements suggérés.
Si le SSL fonctionne toujours lentement, vous avez probablement un serveur surchargé ou une panne de serveur. Si c'est le plus tard, vous devrez essayer de préciser où se situe la faute. Utilisez la pile Server Fault si vous avez besoin d'aide supplémentaire à ce sujet, un utilisateur a signalé que la création de nouvelles clés résolvait un problème SSL lent qu'il rencontrait, qui pouvait ou non être pertinent.
Les équilibreurs de charge peuvent vous aider en cas de problème de ressource serveur.
Étape 2: Enquête sur le TTFB
Une fois que vous avez enquêté sur la résolution du problème de SSL et que vous disposez toujours d'un TTFB accru, vous devez tester votre serveur en vous assurant qu'il dispose de suffisamment de ressources.
Le temps du premier octet est influencé par, mais sans s'y limiter:
Parfois, augmenter le CPU et la RAM n'est pas toujours la meilleure option. Parfois, il est préférable d'introduire un équilibreur de charge, car cela signifie non seulement que vous pouvez facilement exécuter plusieurs serveurs côte à côte, mais qu'il décharge la mise en cache et les demandes SSL. Certains autres avantages incluent:
Conseils pour abaisser votre TTFB:
la source
En lisant le titre de votre question , il y a deux choses que vous pouvez faire pour accélérer la connexion initiale et la négociation SSL / TLS. Ceux-ci fonctionnent pour n'importe quelle connexion, pas seulement pour la 3G, vous devez donc les utiliser comme meilleure pratique de toute façon.
Tout d'abord, utilisez HTTP / 2 pour servir le site. Cela nécessite Apache 2.4.17 ou une version ultérieure .
Deuxièmement, configurez Apache pour utiliser l'agrafage OCSP. Cela nécessite Apache 2.3.3 ou version ultérieure plus OpenSSL 0.9.8h ou version ultérieure, avec un bon guide pour le configurer ici . L'agrafage OCSP n'accélérera pas les choses, mais cela fera une partie du travail pour le client et lui épargnera la peine de tenter une recherche OCSP.
En lisant le corps du texte de votre question , je pense que vous avez un problème beaucoup plus important avec votre environnement d'hébergement. Ces temps de chargement sont inacceptables. Vous mentionnez qu'il s'agit d'un «hébergement partagé», vous devez contacter la personne qui gère cet hébergement partagé et lui demander pourquoi son serveur est si inhabituellement lent. Vous feriez probablement mieux d'essayer un autre hôte partagé ou d'exécuter un VPS vous-même (c'est plus de travail mais donne une meilleure vitesse et flexibilité).
Puisque vous êtes déjà sur AWS, pourquoi ne pas essayer leur niveau gratuit pour tester les choses et faire fonctionner et optimiser votre propre serveur? Utilisez-le avec un sous-domaine et certaines pages HTML statiques pour les tests, puis déplacez votre site principal (évoluez au-delà des limites de niveau gratuit si nécessaire).
la source