Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tester la bande passante necessaire a une application web

7 réponses
Avatar
deltaplan
Bonjour à tous,

Je développe une application web pour un client grand compte depuis
quelques mois, et on arrive bientôt à l'installation sur ses serveurs.
Il s'agit d'une application pour son intranet, qui sera sans doute
destinée dans un premier temps à quelques utilisateurs sur le site où
elle sera installée, mais dans un deuxième temps aussi il envisage de
donner accès à certains de ses employés en poste dans des pays lointains
(en Afrique et en Asie notamment).

Le client me demande, préalablement à l'installation, de réaliser une
étude des besoins de l'application en bande passante réseau. Sachant que
l'application sera installée sur un serveur Tomcat (c'est du pur
servlet), avec une base de données Oracle tournant sur un autre serveur.

Aujourd'hui, je me pose la question de la manière la plus fiable pour
évaluer les besoins en bande passante. Je sais bien sûr mesurer de
manière assez précise les "poids" des différentes pages (en sachant que
bien sûr ces poids sont variables en fonction du contenu de chaque page,
qui peut être plus ou moins long selon l'utilisation qui est faite de
l'application). J'ai plus de mal à évaluer ce que représenteraient
plusieurs utilisateurs simultanés en utilisation "réelle".

Avez-vous des pistes ? Je me demande notamment s'il existe, dans le
monde Java ou de manière plus générique, des outils permettant de
simuler la navigation de plusieurs utilisateurs depuis plusieurs postes
sur un réseau local (voir à distance).

7 réponses

Avatar
TestMan
Bonjour à tous,

Je développe une application web pour un client grand compte depuis
quelques mois, et on arrive bientôt à l'installation sur ses serveurs.
Il s'agit d'une application pour son intranet, qui sera sans doute
destinée dans un premier temps à quelques utilisateurs sur le site où
elle sera installée, mais dans un deuxième temps aussi il envisage de
donner accès à certains de ses employés en poste dans des pays lointains
(en Afrique et en Asie notamment).

Le client me demande, préalablement à l'installation, de réaliser une
étude des besoins de l'application en bande passante réseau. Sachant que
l'application sera installée sur un serveur Tomcat (c'est du pur
servlet), avec une base de données Oracle tournant sur un autre serveur.

Aujourd'hui, je me pose la question de la manière la plus fiable pour
évaluer les besoins en bande passante. Je sais bien sûr mesurer de
manière assez précise les "poids" des différentes pages (en sachant que
bien sûr ces poids sont variables en fonction du contenu de chaque page,
qui peut être plus ou moins long selon l'utilisation qui est faite de
l'application). J'ai plus de mal à évaluer ce que représenteraient
plusieurs utilisateurs simultanés en utilisation "réelle".

Avez-vous des pistes ? Je me demande notamment s'il existe, dans le
monde Java ou de manière plus générique, des outils permettant de
simuler la navigation de plusieurs utilisateurs depuis plusieurs postes
sur un réseau local (voir à distance).


Bonjour,

L'apprécie toujours le classique OpenSTA pour sa fonction
d'enregistrement "direct" des scripts (même s'il est un "au ralenti"
depuis 2ans). Si tu as besoins de choses plus formalisées, tu peux
regarder dans la direction de Canoo Webtest. Un autre a évaluer est
Selenium (assez complet)... Enfin, tu as aussi des solutions
commerciales type Mercury qui te permettent d'aller beaucoup plus loint
(mais nécessitent beaucoup plus de temps de mise en place et de moyens
financiers) ...

Pour ce qui est de la BP tu peux utiliser des analyseurs de flux type
Ethereal qui scruteront tes sessions d'injections pour une analyse
ultérieure des volumes/pics etc. Attention à la difficulté de séparation
entre flux applicatif et flux de controle (généré par l'outil de test
pour l'orchestration des injecteurs).

Dans tous les cas, celà ne te dispensera pas d'optimiser a priori tes
flux générés :
- les pages en mutulalisant les styles dans une feuille
- utiliser la compression gzip (par filtre ou activation d'une option
dans ton moteur)
- ...

Mais, l'idéal dans ce genre de situation étant de reproduire en
miniature (ou en simulé approchant, c'est selon les moyens du projet)
l'infrastructure et l'architecture de déploiement.

A+
TM

Avatar
cfranco
TestMan wrote:

L'apprécie toujours le classique OpenSTA pour sa fonction
d'enregistrement "direct" des scripts (même s'il est un "au ralenti"
depuis 2ans). Si tu as besoins de choses plus formalisées, tu peux
regarder dans la direction de Canoo Webtest. Un autre a évaluer est
Selenium (assez complet)... Enfin, tu as aussi des solutions
commerciales type Mercury qui te permettent d'aller beaucoup plus loint
(mais nécessitent beaucoup plus de temps de mise en place et de moyens
financiers) ...


OK, je vais laisser tomber Mercury, j'ai jusqu'à demain soir pour finir
le test et rédiger mon rapport...

Pour ce qui est de la BP tu peux utiliser des analyseurs de flux type
Ethereal qui scruteront tes sessions d'injections pour une analyse
ultérieure des volumes/pics etc. Attention à la difficulté de séparation
entre flux applicatif et flux de controle (généré par l'outil de test
pour l'orchestration des injecteurs).

Dans tous les cas, celà ne te dispensera pas d'optimiser a priori tes
flux générés :
- les pages en mutulalisant les styles dans une feuille
- utiliser la compression gzip (par filtre ou activation d'une option
dans ton moteur)
- ...

Mais, l'idéal dans ce genre de situation étant de reproduire en
miniature (ou en simulé approchant, c'est selon les moyens du projet)
l'infrastructure et l'architecture de déploiement.


Ce qu'il y a, c'est que le but de l'étude est justement de faire des
préconisations en termes d'infrastructure de déploiement... En sachant
que les contraintes ne sont même pas toutes connues (qualité des
connexions avec les sites éloignés à l'étranger par exemple).

--
Christophe Franco

Avatar
deltaplan
TestMan wrote:

L'apprécie toujours le classique OpenSTA pour sa fonction
d'enregistrement "direct" des scripts (même s'il est un "au ralenti"
depuis 2ans). Si tu as besoins de choses plus formalisées, tu peux
regarder dans la direction de Canoo Webtest. Un autre a évaluer est
Selenium (assez complet)... Enfin, tu as aussi des solutions
commerciales type Mercury qui te permettent d'aller beaucoup plus loint
(mais nécessitent beaucoup plus de temps de mise en place et de moyens
financiers) ...


OK, je vais laisser tomber Mercury, j'ai jusqu'à demain soir pour finir
le test et rédiger mon rapport...

Pour ce qui est de la BP tu peux utiliser des analyseurs de flux type
Ethereal qui scruteront tes sessions d'injections pour une analyse
ultérieure des volumes/pics etc. Attention à la difficulté de séparation
entre flux applicatif et flux de controle (généré par l'outil de test
pour l'orchestration des injecteurs).

Dans tous les cas, celà ne te dispensera pas d'optimiser a priori tes
flux générés :
- les pages en mutulalisant les styles dans une feuille
- utiliser la compression gzip (par filtre ou activation d'une option
dans ton moteur)
- ...

Mais, l'idéal dans ce genre de situation étant de reproduire en
miniature (ou en simulé approchant, c'est selon les moyens du projet)
l'infrastructure et l'architecture de déploiement.


Ce qu'il y a, c'est que le but de l'étude est justement de faire des
préconisations en termes d'infrastructure de déploiement... En sachant
que les contraintes ne sont même pas toutes connues (qualité des
connexions avec les sites éloignés à l'étranger par exemple).

Avatar
TestMan
TestMan wrote:

<...>


Mais, l'idéal dans ce genre de situation étant de reproduire en
miniature (ou en simulé approchant, c'est selon les moyens du projet)
l'infrastructure et l'architecture de déploiement.


Ce qu'il y a, c'est que le but de l'étude est justement de faire des
préconisations en termes d'infrastructure de déploiement... En sachant
que les contraintes ne sont même pas toutes connues (qualité des
connexions avec les sites éloignés à l'étranger par exemple).


Site internet ou extranet ?

Dans le deuxième cas, tu dois pouvoir connaitre la configuration et la
BP (pas forcement la disponible mais au moins la théorique) et
déterminer une répartition de la population utilisateur visée (en la
pondérant par sa "criticité" au besoin) en fonction de la BP. Utile pour
trouver ton "plancher" en fonction des objectifs prioritaires du projets.

Une fois que tu as des stats sur les volumes utilisés par les
transactions métiers "types", tu pourras commencer à faire des calculs à
100% de BP pour les sites les plus faible pour regarder si ça passe.
Dans le cas contraire, il te faudra passer au recommandations :
paramétrage de la config (mail précédent) ou migration partielle de site
critiques en deça du minimum nécessaire pour ton appli.

Dans le premier cas, tu vas devoir imposer une config minimale qui
correspond à ce qu'il est raisonable d'avoir dans les pays ciblés pour
les populations ciblés.Tu trouveras des stats générales sur le net pour
une première approche ... mais ça risque de pas faire bezef :(

A+
TM


Avatar
deltaplan
TestMan wrote:

Mais, l'idéal dans ce genre de situation étant de reproduire en
miniature (ou en simulé approchant, c'est selon les moyens du projet)
l'infrastructure et l'architecture de déploiement.


Ce qu'il y a, c'est que le but de l'étude est justement de faire des
préconisations en termes d'infrastructure de déploiement... En sachant
que les contraintes ne sont même pas toutes connues (qualité des
connexions avec les sites éloignés à l'étranger par exemple).


Site internet ou extranet ?


Extranet. Probablement accessible en HTTPS.

Dans le deuxième cas, tu dois pouvoir connaitre la configuration et la
BP (pas forcement la disponible mais au moins la théorique) et
déterminer une répartition de la population utilisateur visée (en la
pondérant par sa "criticité" au besoin) en fonction de la BP. Utile pour
trouver ton "plancher" en fonction des objectifs prioritaires du projets.


L'ennui c'est que justement cela je ne peux pas les obtenir, aucun de
mes interlocuteurs chez le client n'a connaissance de ces données. Ou
bien si ça se trouve ils le savent, mais ne souhaitent pas le révéler,
et préfèrent que ce soit le prestataire qui annonce d'abord ce dont il a
besoin (ce qui est possible, et assez compréhensible, il y a pas mal de
prestataires qui dans de pareils cas se contenteraient de dire "ça va
passer" sans plus de commentaires si le client leur indique la bande
passante dont il dispose)

Une fois que tu as des stats sur les volumes utilisés par les
transactions métiers "types", tu pourras commencer à faire des calculs à
100% de BP pour les sites les plus faible pour regarder si ça passe.
Dans le cas contraire, il te faudra passer au recommandations :
paramétrage de la config (mail précédent) ou migration partielle de site
critiques en deça du minimum nécessaire pour ton appli.

Dans le premier cas, tu vas devoir imposer une config minimale qui
correspond à ce qu'il est raisonable d'avoir dans les pays ciblés pour
les populations ciblés.Tu trouveras des stats générales sur le net pour
une première approche ... mais ça risque de pas faire bezef :(


En fait, je ne sais pas du tout de quoi disposent les gens qui sont en
poste dans ces pays (à ma connaissance, il s'agit du Nigeria, de
l'Indonésie, et peut-être aussi de plusieurs pays du Moyen Orient). Mais
ce n'est certainement pas la connexion "de base" que les gens du pays
vont avoir dans le cybercafé du coin, la boîte a quand même des moyens
extrèmement conséquents, j'imagine qu'ils ont du prévoir des choses.
Mais je n'ai aucune connaissance de ce qu'ils ont mis en place.



Avatar
TestMan
TestMan wrote:

Mais, l'idéal dans ce genre de situation étant de reproduire en
miniature (ou en simulé approchant, c'est selon les moyens du projet)
l'infrastructure et l'architecture de déploiement.
Ce qu'il y a, c'est que le but de l'étude est justement de faire des

préconisations en termes d'infrastructure de déploiement... En sachant
que les contraintes ne sont même pas toutes connues (qualité des
connexions avec les sites éloignés à l'étranger par exemple).
Site internet ou extranet ?



Extranet. Probablement accessible en HTTPS.

Dans le deuxième cas, tu dois pouvoir connaitre la configuration et la
BP (pas forcement la disponible mais au moins la théorique) et
déterminer une répartition de la population utilisateur visée (en la
pondérant par sa "criticité" au besoin) en fonction de la BP. Utile pour
trouver ton "plancher" en fonction des objectifs prioritaires du projets.


L'ennui c'est que justement cela je ne peux pas les obtenir, aucun de
mes interlocuteurs chez le client n'a connaissance de ces données. Ou
bien si ça se trouve ils le savent, mais ne souhaitent pas le révéler,
et préfèrent que ce soit le prestataire qui annonce d'abord ce dont il a
besoin (ce qui est possible, et assez compréhensible, il y a pas mal de
prestataires qui dans de pareils cas se contenteraient de dire "ça va
passer" sans plus de commentaires si le client leur indique la bande
passante dont il dispose)


Fais leur lancer un script de test de perf via une page web depuis leur
sites ! Et récuperes les infos (montée, descente, etc).... ce sera mieux
que rien ...


Une fois que tu as des stats sur les volumes utilisés par les
transactions métiers "types", tu pourras commencer à faire des calculs à
100% de BP pour les sites les plus faible pour regarder si ça passe.
Dans le cas contraire, il te faudra passer au recommandations :
paramétrage de la config (mail précédent) ou migration partielle de site
critiques en deça du minimum nécessaire pour ton appli.

Dans le premier cas, tu vas devoir imposer une config minimale qui
correspond à ce qu'il est raisonable d'avoir dans les pays ciblés pour
les populations ciblés.Tu trouveras des stats générales sur le net pour
une première approche ... mais ça risque de pas faire bezef :(


En fait, je ne sais pas du tout de quoi disposent les gens qui sont en
poste dans ces pays (à ma connaissance, il s'agit du Nigeria, de
l'Indonésie, et peut-être aussi de plusieurs pays du Moyen Orient). Mais
ce n'est certainement pas la connexion "de base" que les gens du pays
vont avoir dans le cybercafé du coin, la boîte a quand même des moyens
extrèmement conséquents, j'imagine qu'ils ont du prévoir des choses.
Mais je n'ai aucune connaissance de ce qu'ils ont mis en place.


Les stats des navigateurs peuvent déjà t'aider sur les OS, et les config
écran, ajouté aux perfs déduites du précédent test, celà devrait te suffir.

Bon courrage...

A+
TM




Avatar
Lionel
Deltaplan wrote:
Mais ce n'est certainement pas la connexion "de base" que les gens du
pays vont avoir dans le cybercafé du coin, la boîte a quand même des
moyens extrèmement conséquents, j'imagine qu'ils ont du prévoir des
choses.


C'est l'inverse en général: le cybercafé est quasiment tjs bcp plus rapide
que l'accès réseau des grosses boîtes (bcp de personnes sur la meme
connexion, et dans les pays lointains, le débit théorique est souvent
ridicule et le réseau surchargé).
Je pense que n'importe quel accès ADSL pulvérisera l'accès intranet de ton
client, quelle que soit sa taille.

Le plus simple est, comme le conseillait TestMan, de leur filer une URL de
test de bande passante et leur demander de t'envoyer les résultats.
Je parie qu'il y en a certains qui sont sur un accès digne du RTC.