les résultats de l'étude sur la performance de différentes méthodes d'extraction de collections de ressources, en utilisant les protocoles HTTP/1.1, HTTP/2 et HTTP/2 + Server Push pour accéder au serveur. L'étude a également évalué l'impact sur la performance de la présence des données demandées dans le cache du navigateur et de la manipulation des ressources au niveau de la logique de l'application (fusion des ressources en un seul bloc JSON).
Les tests de performance exĂ©cutant 25 requĂȘtes ont montrĂ© des rĂ©sultats globalement prĂ©visibles â un ralentissement Ă©vident de la requĂȘte via HTTP/1.1 avec un cache vide et un temps de rĂ©ponse plus rapide des ressources dans un seul bloc (tests Ă©tiquetĂ©s « composĂ© »). La performance de Firefox et de Chrome Ă©tait Ă peu prĂšs Ă©quivalente, mais la prĂ©sence de donnĂ©es dans le cache n'a pas gĂ©nĂ©rĂ© l'augmentation d'efficacitĂ© attendue.
Cependant, lors du test de traitement de 500 requĂȘtes, un retard significatif de Chrome par rapport Ă Firefox est apparu lors de l'envoi d'un grand nombre de requĂȘtes, et un retard de Firefox par rapport Ă Chrome lorsque le mĂ©canisme Server Push Ă©tait utilisĂ© et dans une situation d'utilisation d'HTTP/2 avec une grande partie des donnĂ©es dans le cache du navigateur. Chrome a montrĂ© une gestion plus efficace du cache, tandis que Firefox a Ă©tĂ© plus efficace dans le traitement des requĂȘtes externes.
Ă l'issue des tests, il a Ă©tĂ© conclu que HTTP/2 permet de traiter de maniĂšre assez efficace des requĂȘtes sĂ©parĂ©es pour une grande collection de ressources. Les diffĂ©rences de performance entre les simples schĂ©mas de restitution sĂ©parĂ©e des ressources et les mĂ©thodes oĂč les ressources sont agrĂ©gĂ©es en un seul bloc ne sont pas si significatives pour justifier une complexitĂ© de traitement considĂ©rable du cĂŽtĂ© de l'application et de serveurs. L'agrĂ©gation n'a de sens que dans les situations oĂč la performance est la prioritĂ© absolue. Lorsque la simplification de la logique et une API simple sont plus importantes, il est logique d'utiliser le traitement sĂ©parĂ© des ressources.
Une autre conclusion est que le cache du navigateur lors de l'utilisation de HTTP/2 n'a pas d'impact significatif sur la performance du traitement des requĂȘtes (l'exĂ©cution complĂšte de 501 requĂȘtes s'est rĂ©vĂ©lĂ©e plus lente que celle de 51 requĂȘtes avec un remplissage du cache de 90 %, soit 1,2 fois plus lente dans Firefox et 2,3 fois plus lente dans Chrome). L'utilisation de Server Push n'a pas montrĂ© d'avantage significatif dans Firefox, mais s'est avĂ©rĂ©e efficace pour le chargement d'un grand nombre de ressources dans Chrome. Les auteurs de l'Ă©tude ont Ă©galement notĂ© que l'optimisation du cĂŽtĂ© serveur a un impact plus significatif sur la performance que l'optimisation du code client exĂ©cutĂ© dans le navigateur.
Source : opennet.ru
