Quel est le résultat de la performance de https par rapport à http pour la même page? Supposons que je puisse traiter 1000 requêtes / s pour abc.php, de combien diminuera-t-il lorsqu’un accès via https? Je sais que cela pourrait dépendre du matériel, de la configuration, du système d'exploitation, etc., mais je cherche simplement une règle générale approximative / une estimation.
apache-2.2
performance
Erotsppa
la source
la source
Réponses:
Pour un test rapide et sommaire (aucune optimisation!), J'ai activé le site Web par défaut Ubuntu apache2 (qui dit simplement "Ça marche!") Avec http et https (certificat auto-signé) sur une machine virtuelle Ubuntu 9.04 locale et ai exécuté l'apache. référence "
ab
" avec 10 000 requêtes (pas de simultanéité). Le client et le serveur étaient sur la même machine / machine virtuelle:Résultats pour http ("
ab -n 10000 http://ubuntu904/index.html
")Résultats pour https ("
ab -n 10000 https://ubuntu904/index.html
"):Si vous examinez de plus près (par exemple avec tcpdump ou wireshark) la communication tcp / ip d'une requête unique, vous verrez que le cas http nécessite 10 paquets entre le client et le serveur, alors que https en requiert 16: la latence est beaucoup plus élevée avec https. (Plus d'informations sur l'importance de la latence ici )
L'ajout de Keep-Alive (
ab
option-k
) au test améliore la situation, car toutes les demandes partagent désormais la même connexion, c'est-à-dire que la surcharge de SSL est plus faible, mais que https est toujours mesurable plus lentement:Résultats pour http with keep-alive ("
ab -k -n 10000 http://ubuntu904/index.html
")Résultats pour https avec keep-alive ("
ab -k -n 10000 https://ubuntu904/index.html
"):Conclusion :
la source
Sur les serveurs modernes, je dirais que votre goulot d'étranglement serait le réseau et votre application, pas le cryptage. Le TLS / SSL dans Apache sera écrit en C assez optimisé, il sera donc éclipsé par votre code PHP, surtout si vous allez faire des choses comme accéder à une base de données. Servir des fichiers statiques aura probablement un impact plus important, car le cryptage deviendra une partie importante du processus. Je ne peux pas vous donner de chiffres concrets, mais je serais surpris que ce soit plus de 5% et probablement plus près de deux pour cent.
la source
Ne supposez rien, testez-le vous-même! Sur vos applications Web spécifiques bien sûr.
la source
Je constate que sur du matériel moderne, je suis plus susceptible d'être lié à une transaction particulière qu'à un processeur (calcul). Cela est particulièrement vrai en matière de compression et de chiffrement. Le cryptage 128 bits est devenu trivial de nos jours. En général, la création et la livraison des pages sortantes sont beaucoup plus difficiles que l'utilisation de SSL. Je n'ai pas remarqué de différence significative de performances entre les trafics http et https en quelques années.
la source
J'appuie la recommandation pour nginx. Dans mes propres tests, il a bien résisté en tant que déchargeur SSL dédié.
la source
Bien sûr, si le traitement SSL frappe fort, vous pouvez toujours le déplacer hors serveur vers une zone dédiée. Il y a une belle écriture à faire avec nginx ici . C'est quelque chose que nous avons fait sur des serveurs à charge équilibrée de couche 7 très chargés.
la source
Je peux confirmer que la charge supplémentaire de cryptage est très faible par rapport à tous les autres éléments inclus (scripts, réseau, ...)
la source
D'après mon expérience, la règle générale est directement liée à la taille de votre clé publique (par exemple, 2048, vs 4096, par rapport à 8192), mais toutes prennent beaucoup plus de temps. Cependant, je peux difficilement remarquer une différence dans un environnement de bureau, mais le mobile est celui dans lequel vous voyez une différence car il faut de la puissance de calcul.
En général, c'est malheureux, mais SSL a toujours eu et aura probablement toujours un énorme impact négatif sur les performances.
la source